Джанго Кэширование и декоратор состояния - PullRequest
0 голосов
/ 14 августа 2011

Это из документации django :

condition(etag_func=None, last_modified_func=None)
etag(etag_func)
last_modified(last_modified_func)

These decorators can be used to generate ETag and Last-Modified headers

и все же, это также из документации django :

Additionally, the cache middleware automatically sets a few headers in each HttpResponse:
Sets the Last-Modified header to the current date/time when a fresh (uncached) version of the page is requested.
Sets the Expires header to the current date/time plus the defined CACHE_MIDDLEWARE_SECONDS.
Sets the Cache-Control header to give a max age for the page -- again, from the CACHE_MIDDLEWARE_SECONDS setting.

Поэтому мне было интересно, какое значение принимает Last-Modified, когда я использую как кэширование, так и декоратор условий.
Изменить: А также, вы бы порекомендовали использовать их обоих, или просто использовать один из них?

1 Ответ

1 голос
/ 15 августа 2011

Промежуточное программное обеспечение кэша будет устанавливать заголовки ETag, Last-Modified и Expires, если они еще не существуют (см. Метод patch_response_headers , который вызывается из UpdateCacheMiddleware ).

И поскольку декораторы будут выполняться сразу после того, как ответ будет возвращен из представления, заголовки декоратора уже будут присутствовать при запуске промежуточного программного обеспечения.

Вкратце: Last-Modified будет иметь значение из декоратора условие / last_modified.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...