Python的Django框架中模板碎片缓存简介
你同样可以使用cache标签来缓存模板片段。在模板的顶端附近加入{%loadcache%}以通知模板存取缓存标签。
模板标签{%cache%}在给定的时间内缓存了块的内容。它至少需要两个参数:缓存超时时间(以秒计)和指定缓存片段的名称。示例:
{%loadcache%} {%cache500sidebar%} ..sidebar.. {%endcache%}
有时你可能想缓存基于片段的动态内容的多份拷贝。比如,你想为上一个例子的每个用户分别缓存侧边栏。这样只需要给{%cache%}传递额外的参数以标识缓存片段。
{%loadcache%} {%cache500sidebarrequest.user.username%} ..sidebarforloggedinuser.. {%endcache%}
传递不止一个参数也是可行的。简单地把参数传给{%cache%}。
缓存超时时间可以作为模板变量,只要它可以解析为整数值。例如,如果模板变量my_timeout值为600,那么以下两个例子是等价的。
{%cache600sidebar%}...{%endcache%} {%cachemy_timeoutsidebar%}...{%endcache%}
这个特性在避免模板重复方面非常有用。可以把超时时间保存在变量里,然后在别的地方复用。