我想缓存我的视图如下:
@cache_page(10)
def myview:
return HttpResponse('content')
这会自动将我的视图缓存 10 秒,并自动设置 Cache-Control/Expire 标头。我只想将我的视图缓存 10 秒,但最大年龄为 3600 秒。
例如以这种方式尝试过:
@cache_page(10)
def myview:
response = HttpResponse('content')
patch_response_headers(response, 3600)
或者这样:
@cache_page(10)
def myview:
response = HttpResponse('content')
response['Cache-Control'] = 'max-age=3600'
但是当在我的 Django-View 中指定其中一个时,它会将视图缓存 3600 秒而不是 10 秒。还尝试了像'cache_control'这样的装饰器,但没有任何帮助。
这个问题有解决方案吗?我正在使用 Django 1.4.1。
不知道是不是相关的,我激活的中间件类是
- django.middleware.common.CommonMiddleware
- django.contrib.sessions.middleware.SessionMiddleware
- django.middleware.csrf.CsrfViewMiddleware
- django.contrib.auth.middleware.AuthenticationMiddleware
- django.contrib.messages.middleware.MessageMiddleware
- django.middleware.http.ConditionalGetMiddleware
我已激活 ConditionalGetMiddleware 以确保将根据最后修改的标头发送 304。
非常感谢!
霍尔格