Я использую render_to_response ярлык и не хочу обрабатывать определенный объект Ответа добавить дополнительные заголовки для предотвращения клиентского кэширования.
Я хотел бы иметь ответ, который содержит:
И все другие изящные способы, которыми браузеры, надо надеяться, интерпретируют как директивы, чтобы не кэшироваться.
Существует ли промежуточное программное обеспечение без кэшей или что-то подобное, которое может добиться цели с минимальным проникновением кода?
Вы можете достичь этого с помощью декоратора Cache_Control. Пример документации :
from django.views.decorators.cache import never_cache
@never_cache
def myview(request):
# ...
На самом деле написание собственного промежуточного программного обеспечения было достаточно легко:
from django.http import HttpResponse
class NoCacheMiddleware(object):
def process_response(self, request, response):
response['Pragma'] = 'no-cache'
response['Cache-Control'] = 'no-cache must-revalidate proxy-revalidate'
return response
до сих пор не ведет себя так, будто я хотел, но так ни один не делает никто @never_cache.