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

yipeiwu_com7年前Python基础

你同样可以使用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删除n行后的其他行方法

如下所示: #!/usr/bin/python #-*- coding: utf-8 -*- fin=open('add_1.txt') a=fin.readlines() #...

python添加菜单图文讲解

python添加菜单图文讲解

分享一个基于tkinter的菜单程序添加操作,希望对需要的朋友有帮助。 打开python集成开发环境,使用 from tkinter import Tk from tkinter im...

python3-flask-3将信息写入日志的实操方法

使用logging模块,记录日志信息 安装模块 pip3 install logging 脚本示例 vim flask_api_logging.py #!/usr/bin/e...

Python文件和目录操作详解

Python文件和目录操作详解

一、文件的打开和创建 1、打开 复制代码 代码如下: open(file,mode): >>>fo = open('test.txt', 'r') >>&g...

解决python3中自定义wsgi函数,make_server函数报错的问题

#coding:utf-8 from wsgiref.simple_server import make_server def RunServer(environ, start_...