在django 1.4版下。如何不在django缓存我的模板的一段代码
问题:
由于我的模板是由这种观点,这将完全被保存在缓存中呈现:
@cache_page(60*60*24)
def index(request):
foo_form = FooForm()
context = RequestContext(request, {
'foo_form': foo_form
})
# An entire page is rendered
return render_to_response('index.html', context_instance=context)
在我的模板我有一个if语句,检查用户是否认证:
...
<li>
{% if user.is_authenticated %}
<a href="{% url 'home' %}" class="login">Enter</a>
{% else %}
<a href="" class="login" data-target="#login_modal" data-tggle="modal">Enter</a>
{% endif %}
</li>
...
有一种模式是由“Enter”按钮激活的,当没有用户登录时应该显示,否则用户被重定向到系统当点击“Enter”按钮时。
问题:有没有办法忽略我的模板中的那段代码不被缓存?如果是这样,怎么样?
你好哥们!我将如何在我的代码中应用?我在代码中测试了这个模板片段缓存,但我不知道它是否完全正确。由于Django文档描述了templ片段缓存,它与使用装饰器在缓存中存储相同,就像我在我看来的那样。因此,应该存在某种方法来避免在代码的某些区域进行缓存,但这更像是一种无人愿意分享的秘密。 –