缓存Jinja2片段
用法:
{% cache [timeout [,[key1, [key2, ...]]]] %}
...
{% endcache %}
默认情况下“模版文件路径”+“片段开始的函数”用来作为缓存键。同样键名是可以手动设置的。键名串联成一个字符串,这样能够用于避免同样的块在不同模版被重复计算。
设置 timeout 为 None,并且使用了自定义的键:
{% cache None "key" %}...
为了删除缓存值,为“del”设置超时时间:
{% cache 'del' %}...
如果提供键名,你可以很容易地产生模版的片段密钥,从模板上下文外删除它:
from flask.ext.cache import make_template_fragment_key
key = make_template_fragment_key("key1", vary_on=["key2", "key3"])
cache.delete(key)
例子:
Considering we have render_form_field and render_submit macroses.
{% cache 60*5 %}
<form>
{% render_form_field form.username %}
{% render_submit %}
</form>
{% endcache %}
当前内容版权归 wizardforcel 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 wizardforcel .