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缩进区别分析
Feb 15 Python
Python实现计算两个时间之间相差天数的方法
May 10 Python
关于python的list相关知识(推荐)
Aug 30 Python
Python扩展内置类型详解
Mar 26 Python
python linecache 处理固定格式文本数据的方法
Jan 08 Python
django框架模型层功能、组成与用法分析
Jul 30 Python
python网络编程之多线程同时接受和发送
Sep 03 Python
手把手教你进行Python虚拟环境配置教程
Feb 03 Python
python 已知平行四边形三个点,求第四个点的案例
Apr 12 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
Jan 05 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
Feb 24 Python
python调用ffmpeg命令行工具便捷操作视频示例实现过程
Nov 01 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
一些PHP写的小东西
2006/12/06 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
php实现按文件名搜索文件的远程文件查找器
2014/05/10 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
php socket通信简单实现
2016/11/18 PHP
js中unicode转码方法详解
2015/10/09 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
jQuery设置Easyui校验规则(推荐)
2016/11/21 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
详解Python的Twisted框架中reactor事件管理器的用法
2016/05/25 Python
python中virtualenvwrapper安装与使用
2018/05/20 Python
Python多线程同步---文件读写控制方法
2019/02/12 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
护士见习期自我鉴定
2014/02/08 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
教你一步步实现一个简易promise
2021/11/02 Javascript