Как сделать, я интегрирую 304 в Django?

Когда пользователь запрашивает ту же страницу с теми же данными... Я хотел бы, чтобы Django возвратил 304, так, чтобы браузер не загружал страницу снова и снова.

Я плохо знаком с этим. Как это может быть сделано?

Спасибо.

6
задан TIMEX 18 February 2010 в 09:07
поделиться

2 ответа

В документации Django есть подробное описание: Условная обработка представления

Следующие инструменты особенно полезны:

  1. @last_modified и @etag декораторы представлений.Вы предоставляете им функцию для вычисления значения из запроса, а все остальное делается автоматически.
  2. django.middleware.http.ConditionalGetMiddleware - он генерирует требуемый ETag и возвращает 304 при попадании в кэш, но для генерации полного HTML по-прежнему требуется время сервера, и сохраняется только время сети. Все еще очень хорошо для изменения конфигурации в одну строку.
13
ответ дан 8 December 2019 в 12:19
поделиться

Вы можете изучить систему кэширования Django или, если вы можете легко проверить, запрашивает ли пользователь те же данные, вы можете вернуть HttpResponseNotModified () - это вернет 304 Ознакомьтесь с документацией здесь .

6
ответ дан 8 December 2019 в 12:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: