我希望浏览器缓存我从基于类的视图生成的JSON响应。启用Django's cache framework并添加cache_control装饰器后,我可以看到几个标题,例如“Last Modified”和“Expires”,但浏览器不会缓存请求。
此外,这里真正的需要是能够动态设置最后修改的标题。
我使用以下方法启用了Django缓存中间件:
django.middleware.cache.UpdateCacheMiddleware
django.middleware.common.CommonMiddleware
django.middleware.cache.FetchFromCacheMiddleware
这是装饰者:
@cache_control(must_revalidate=True, private=True, max_age=3600)
标题:
Cache-Control:private, must-revalidate, max-age=3600
Connection:Keep-Alive
Content-Type:application/json
Date:Thu, 16 Oct 2014 22:53:38 GMT
Keep-Alive:timeout=5, max=100
Last-Modified:Sat, 11 Oct 2014 22:53:39 GMT
Server:Apache/2.2.22 (Ubuntu)
Transfer-Encoding:chunked
Vary:Cookie
X-Frame-Options:SAMEORIGIN
我读过一篇文章提到了Vary标题导致问题。我还没有办法将其删除。