Vous pouvez écrire un middleware personnalisé (non testé, commencez par quelque chose comme ça et regarder docs). Il peut économiser beaucoup de ressources réseau pour un site qui donne des informations assez statiques, comme des résultats de loterie ou des cotations boursières historiques, par exemple.
# my_middleware.py
from django.conf import settings
# default 30 days
MAX_AGE = getattr(settings, 'CACHE_CONTROL_MAX_AGE', 2592000)
class MaxAgeMiddleware(object):
def process_response(self, request, response):
response['Cache-Control'] = 'max-age=%d' % MAX_AGE
return response
Ajoutez votre middleware dans settings.py MIDDLEWARE_CLASSES; le middleware est comme les couches d'oignon - l'ordre est important, pendant la phase de réponse, les premières sont traitées en dernier.
Set CACHE_CONTROL_MAX_AGE ou tout autre paramètre et lui donner un essai.