3

django-piston 呼び出しへの応答に、Cache-Control や Last-Modified などの HTTP ヘッダーを含めるにはどうすればよいですか?

4

2 に答える 2

2

Django ドキュメントのurlconfガイドでビューごとのキャッシュを指定するurls.py手順に従って、ラップすることができます。私の場合、別のモジュールに Piston API があり、組み込みの Django キャッシング フレームワークの代わりに Varnish を使用することを好むため、(私のメインに含まれている) でこのアプローチを使用して、必要なキャッシュ コントロール ヘッダーを設定しました。api/urls.pyurls.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))),
)
于 2010-07-06T14:39:11.410 に答える
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
于 2010-03-31T22:48:38.463 に答える