Pau*_*ine 12
你可以编写一个自定义中间件(未经测试,从这样的东西开始,看看文档).例如,它可以为一个提供非常静态信息的网站节省大量网络资源,例如彩票结果或历史股票报价.
# 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
Run Code Online (Sandbox Code Playgroud)
将您的中间件附加到settings.py MIDDLEWARE_CLASSES; 中间件就像洋葱层 - 顺序问题,在响应阶段,第一个是最后处理的.
设置CACHE_CONTROL_MAX_AGE或任何其他参数并尝试一下.
呃……我会小心的。模板会根据每个请求进行处理。您不想随意将其设置为缓存;数据可以(并且可能会)改变。
值得庆幸的是,Django 提供了缓存。我不确定它是否正确设置了无缓存,但它绝对可以防止不需要的重复查询。这就是您想要使用的。
阅读http://docs.djangoproject.com/en/dev/topics/cache/
| 归档时间: |
|
| 查看次数: |
10688 次 |
| 最近记录: |