如何在django中为我的http响应设置现在+ 1年到期?
我可以使用render()
快捷方式吗?
答案 0 :(得分:2)
您可以使用装饰器执行此操作,请参阅有关使用per-view cache的相关文档。
答案 1 :(得分:1)
另一种替代方法是使用patch_response_headers(response, cache_timeout=None)
中的django.utils.cache
。只需根据指定的超时时间(以秒为单位)在Expires
对象上设置Cache-Control
和response
HTTP标头即可。
例如,在您的视图代码中,可以在将其返回之前将其应用于HttpResponse
对象:
from django.utils.cache import patch_response_headers
# Add Expires and Cache-Control headers to cache in browser for 5 minutes
patch_response_headers(response, cache_timeout=300)
return response
如果仅希望浏览器将响应缓存特定的时间量,而服务器上不进行缓存,则这可能是一个更好的解决方案。
有关更多详细信息,请参见Django文档: https://docs.djangoproject.com/en/dev/ref/utils/#django.utils.cache.patch_response_headers