我想爲匿名用戶使用django片段緩存,但爲已認證的用戶提供新數據。這似乎工作正常:只爲匿名用戶使用django片段緩存
{% if user.is_anonymous %}
{% load cache %}
{% cache 300 "my-cache-fragment" %}
<b>I have to write this out twice</b>
{% endcache %}
{% else %}
<b>I have to write this out twice</b>
{% endif %}
唯一的問題是,我不得不重複的HTML緩存。除了把它放在包含內容之外,有沒有一些巧妙的解決方法?謝謝。
這對於匿名用戶和經過身份驗證的用戶來說都是一樣的。唯一的區別是一個在緩存標籤內,一個在外面。 – asciitaxi 2011-04-21 06:24:46
儘管這是一種有效的方法,但它可能會在不同的情況下破裂: 有一個'{%block something%} {%endblock%}'會產生一個錯誤(不允許多次使用同一個blocktag) – Hussam 2013-01-04 12:12:47