Когда пользователь запрашивает ту же страницу с теми же данными... Я хотел бы, чтобы Django возвратил 304, так, чтобы браузер не загружал страницу снова и снова.
Я плохо знаком с этим. Как это может быть сделано?
Спасибо.
В документации Django есть подробное описание: Условная обработка представления
Следующие инструменты особенно полезны:
@last_modified
и @etag
декораторы представлений.Вы предоставляете им функцию для вычисления значения из запроса, а все остальное делается автоматически. django.middleware.http.ConditionalGetMiddleware
- он генерирует требуемый ETag и возвращает 304 при попадании в кэш, но для генерации полного HTML по-прежнему требуется время сервера, и сохраняется только время сети. Все еще очень хорошо для изменения конфигурации в одну строку. Вы можете изучить систему кэширования Django или, если вы можете легко проверить, запрашивает ли пользователь те же данные, вы можете вернуть HttpResponseNotModified ()
- это вернет 304 Ознакомьтесь с документацией здесь .