我与零件的简单页面:Django的部分缓存的视图
- 从数据库
- 头拍摄的内容的列表。
表头上标有通常的“登录表单”或登录用户的名称。对于所有用户而言,“项目部分”是相同的,但是如果我缓存整个视图,则不会根据用户状态显示不同的页眉(如果您未登录,则为您自己的用户名或登录表单)。如何缓存“项目”部分并使标题保持动态?谢谢。
我与零件的简单页面:Django的部分缓存的视图
表头上标有通常的“登录表单”或登录用户的名称。对于所有用户而言,“项目部分”是相同的,但是如果我缓存整个视图,则不会根据用户状态显示不同的页眉(如果您未登录,则为您自己的用户名或登录表单)。如何缓存“项目”部分并使标题保持动态?谢谢。
使用template fragment cache。它可以让你只缓存模板的片段与您的项目清单:
{% load cache %}
A header here
{% cache 500 %}
List of items here
{% endcache %}
如果你使用Django的缓存系统和1.3版本,它看起来这是很容易与template fragment caching。实际上,文档中给出的版本建议将页面的两个部分缓存为单独的片段,并将标题键入登录用户:
{% load cache %}
{% cache 500 header request.user.username %}
.. header ..
{% endcache %}
{% cache 500 items %}
.. items ..
{% endcache %}
谢谢,这按预期工作。我如何强制过期呢?像这样http://stackoverflow.com/questions/9350794/django-caching-purge-cache但基于片段? – pistacchio 2012-02-20 07:25:41
@pistacchio http://djangosnippets.org/snippets/1593/ – DrTyrsa 2012-02-20 07:27:39
谢谢,这工作:) – pistacchio 2012-02-20 13:09:42