我有一个用Django编写的博客,我开始使用基本的Django缓存中间件和文件系统缓存后端.不幸的是,这导致了两个不应该被缓存的东西:用于登录用户的管理员链接(例如"编辑此帖子")和基于cookie的预先填充的评论表单.
为了解决这个问题,我开始使用模板缓存标记:
{% load cache %}
...admin links...
{% cache 500 blog_entry entry.id %}
...entry...
{% endcache %}
...comment form...
Run Code Online (Sandbox Code Playgroud)
但似乎整个页面仍然被缓存.如何设置缓存系统以仅缓存您明确设置的模板部分?
编辑:对于评论,如果有人在博客上发表评论,我会将他们的姓名,网站和电子邮件地址存储在会话变量中.如果他们回到网站,那么我使用该数据预填充表单的那些部分.但这意味着缓存系统可以使用预先填充的数据缓存视图,这是不好的.
将其添加到您的settings.py:
CACHE_MIDDLEWARE_ANONYMOUS_ONLY = True
Run Code Online (Sandbox Code Playgroud)
这应该解决管理员链接的问题,我不太明白你的第二个问题(预先填充的评论)是什么?
| 归档时间: |
|
| 查看次数: |
646 次 |
| 最近记录: |