Почему обращение к объекту Django приводит к тому, что страница не завершает загрузку?

Я настраиваю свой проект django в производственной среде и получаю странное поведение, когда страница рендерится, но значок загрузки во вкладке Chrome продолжает вращаться. В конечном итоге это заканчивается ошибкой "Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR" после того, как он достигнет лимита таймаута.

После длительной отладки я обнаружил, что это происходит всякий раз, когда выполняется вызов базы данных для представления. Это легче всего заметить при попытке открыть таблицу на сайте администратора. Сам главный экран загружается нормально, но затем не загружается, когда вы выбираете таблицу для редактирования.

На главной веб-странице сами данные загружаются нормально, и результирующий шаблон выглядит так, как ожидалось, за исключением того, что страница никогда не заканчивает загрузку.

В качестве последнего замечания по проблеме, это прекрасно работает на локальном сервере dev, но не тогда, когда я запускаю этот сайт в производственной среде

Я проверил это в Chrome и Edge, в окне инкогнито, и попросил друга посмотреть страницу у себя дома, чтобы убедиться, что дело не в моей стороне.

Я использую Django 4.1 и python 3.10 с базой данных sqlite:

# I realize this is redundant since the user object is accessible directly in the template, but just wanted to see if this method made any difference. It didn't
def get_user_data(request):
    return {
        'is_authenticated': request.user.is_authenticated,
        'is_staff': request.user.is_authenticated
    }

def homepage(request):
    return render(request = request,
                  template_name='main/home.html',
                  context=get_user_data(request))

Settings.py

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.sqlite3",
        "NAME": BASE_DIR / "db.sqlite3",
    }
}
#Permissions
-rw-r--r-- 1 www-data www-data 135168 Oct 21 14:08 db.sqlite3

Любая помощь будет очень признательна!

Вернуться на верх