如何在对django-piston调用的响应中包含HTTP标头,例如Cache-Control或Last-Modified?
答案 0 :(得分:2)
您可以按照Django文档中specifying per view cache in urlconf指南中的步骤将其包装在urls.py
中。在我的情况下,我在一个单独的模块中使用了我的Piston API,并且更喜欢使用Varnish而不是内置的Django缓存框架,因此我在api/urls.py
(我的主要urls.py
包含)中使用了这种方法来设置我想要的缓存控制头:
from django.views.decorators.cache import cache_control
cached_resource = cache_control(public=True, maxage=30, s_maxage=300)
urlpatterns = patterns('',
url(r'^myresource/$', cached_resource(Resource(MyHandler))),
)
答案 1 :(得分:0)
不确定django-piston,但是在django你可以去:
from django.http import HttpResponse
response = HttpResponse('My content')
response['MyHttpHeader'] = 'MyHeaderValue'
所以,在那里你可以访问响应。如果您使用第三方应用程序,中间件通常是完美的地方。您的中间件看起来像:
def process_response(self, request, response):
response['MyHttpHeader'] = 'MyHeaderValue'
return response