在视图本身中,我希望能够在返回结果时设置缓存超时值。原因是如果视图返回错误,我希望超时更短。
现在,我将超时设置为静态:
url(r'^view/(.+)/', cache_page(24 * 60 * 60)(MyView.as_view()), name='view')
答案 0 :(得分:1)
您可以在视图类中手动执行此操作。类似的东西:
class MyView(View):
def get(self, *args, **kwargs):
response_data = cache.get('some_key')
if response_data is None:
response = super(MyView, self).get(*args, **kwargs)
cache.set('some_key', response.content, 300)
else:
response = HttpResponse(response_data)
return response