Python的Django框架中模板碎片缓存简介


Posted in Python onJuly 24, 2015

你同样可以使用cache标签来缓存模板片段。 在模板的顶端附近加入{% load cache %}以通知模板存取缓存标签。

模板标签{% cache %}在给定的时间内缓存了块的内容。 它至少需要两个参数: 缓存超时时间(以秒计)和指定缓存片段的名称。 示例:

{% load cache %}
{% cache 500 sidebar %}
  .. sidebar ..
{% endcache %}

有时你可能想缓存基于片段的动态内容的多份拷贝。 比如,你想为上一个例子的每个用户分别缓存侧边栏。 这样只需要给{% cache %}传递额外的参数以标识缓存片段。

{% load cache %}
{% cache 500 sidebar request.user.username %}
  .. sidebar for logged in user ..
{% endcache %}

传递不止一个参数也是可行的。 简单地把参数传给{% cache %}。

缓存超时时间可以作为模板变量,只要它可以解析为整数值。 例如,如果模板变量my_timeout值为600,那么以下两个例子是等价的。

{% cache 600 sidebar %} ... {% endcache %}
{% cache my_timeout sidebar %} ... {% endcache %}

这个特性在避免模板重复方面非常有用。 可以把超时时间保存在变量里,然后在别的地方复用。

Python 相关文章推荐
讲解python参数和作用域的使用
Nov 01 Python
Python使用代理抓取网站图片(多线程)
Mar 14 Python
Python使用smtp和pop简单收发邮件完整实例
Jan 09 Python
tensorflow获取变量维度信息
Mar 10 Python
Python基于TCP实现会聊天的小机器人功能示例
Apr 09 Python
flask框架中勾子函数的使用详解
Aug 01 Python
python 通过 socket 发送文件的实例代码
Aug 14 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
Apr 29 Python
打包python 加icon 去掉cmd黑窗口方法
Jun 24 Python
python中p-value的实现方式
Dec 16 Python
使用pyplot.matshow()函数添加绘图标题
Jun 16 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 Python
Django框架下在URLconf中指定视图缓存的方法
Jul 23 #Python
详解Django框架中的视图级缓存
Jul 23 #Python
Django中的CACHE_BACKEND参数和站点级Cache设置
Jul 23 #Python
简介Django框架中可使用的各类缓存
Jul 23 #Python
浅析Python的Django框架中的Memcached
Jul 23 #Python
详解Django中的权限和组以及消息
Jul 23 #Python
在Django的模板中使用认证数据的方法
Jul 23 #Python
You might like
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
javascript类继承机制的原理分析
2009/09/12 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
Nodejs学习笔记之Stream模块
2015/01/13 NodeJs
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
Angularjs实现搜索关键字高亮显示效果
2017/01/17 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
实现vuex原理的示例
2020/10/21 Javascript
[34:27]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第一局
2016/02/26 DOTA
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
Python创建空列表的字典2种方法详解
2020/02/13 Python
Python post请求实现代码实例
2020/02/28 Python
NBA德国官方网上商店:NBA Store德国
2018/04/13 全球购物
Urban Outfitters德国官网:美国跨国生活方式零售公司
2018/05/21 全球购物
如何写一个自定义标签
2012/12/28 面试题
幼儿教师寄语集锦
2014/04/03 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
蜗居观后感
2015/06/11 职场文书
母亲节感言
2015/08/03 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
python实现三次密码验证的示例
2021/04/29 Python
Vue OpenLayer 为地图绘制风场效果
2022/04/24 Vue.js
使用CSS实现按钮边缘跑马灯动画
2023/05/07 HTML / CSS