我正在使用django页面缓存修饰缓存只有我的主页,因此,页眉和页脚也获得缓存。所以,如果请求来自不同的URL,它只从缓存中选择页眉和页脚。因为我的页眉和页脚对于不同的网站是动态的。所以,有些链接是给404的。有没有办法通过清除页眉和页脚或者更好的方法来解决这个问题?Django页面缓存缓存页眉和页脚
0
A
回答
2
您可能需要使用template fragment caching feature:
如果你更大的控制权后,你也可以使用
cache
模板标签缓存模板片段。要让您的模板可以访问此代码,请将{% load cache %}
放在模板顶部附近。
{% cache %}
模板标记将块的内容缓存给定的时间量。它至少需要两个参数:以秒为单位的高速缓存超时以及给出高速缓存片段的名称。该名称将被视为不使用变量。例如:{% load cache %} {% cache 500 sidebar %} .. sidebar .. {% endcache %}
1
我仍然还学习如何处理与动态页面缓存。我会告诉我的解决方案,直到比我更好的人给你一个更有经验的解决方案。
您需要在模板级别进行缓存(更准确地说,您需要缓存模板的片段)。
由于页眉和页脚是动态的,因此只能缓存页面的正文片段。它可以像做:
{% include 'header.html' %}
{% cache 1000 'bodycache' %}
{% include 'body.html' %}
{% endcache %}
{% include 'footer.html' %}
这将使这个观点每一个要求让所有的header
和footer
所需的SQL查询,但body
将被缓存。
2
除了片段缓存的响应之外,您还可以使用基于两阶段模板渲染的django阶段。
相关问题
- 1. 缓存页面
- 2. silverlight页面缓存
- 3. 缓存asp.net页面
- 4. 缓存HTML页面
- 5. 非缓存页面
- 6. Node.js页面缓存
- 7. 刮缓存页面
- 8. Codeigniter缓存页面
- 9. 缓存HTML页面
- 10. IE10缓存页面
- 11. 保存页面缓存
- 12. 正在ASP.net上缓存的自定义页眉变量页面
- 13. JCache“页面”组缓存所有页面?
- 14. Django的memcashed不缓存页面
- 15. Django页面缓存(麻烦db)?
- 16. 可以缓存django的页面吗?
- 17. Django的重载页面没有缓存
- 18. Django缓存 - 删除某些页面的缓存
- 19. Django缓存 - 没有为页面的某些部分缓存
- 20. 缓存drupal系统页面
- 21. 缓存asp.net页面响应
- 22. ASP.NET页面级缓存
- 23. 缓存ASP.NET页面只
- 24. XHR的Rails页面缓存
- 25. 轨页面缓存,AJAX
- 26. ASP.NET页面不断缓存
- 27. Linux页面缓存列表
- 28. CodeIgniter页面缓存异常
- 29. 缓存99%的MVC3页面
- 30. JSP页面变量缓存