1,引言
在Django框架的模板机制中,广泛使用了模板标签。模板标签提供了一些渲染过程中Django进行页面处理的逻辑。
模板的通用形式为{% 模板标签名称%}, 模板标签比模板变量更为复杂,模板标签的本质也是函数,标签名一般即为函数名。这些标签的主要作用包括载入代码渲染模板或对传递过来的参数进行一定的逻辑判断或计算后返回。
Django的模板标签(tag)根据其作用可分2类:
simple_tag 简单标签 : 处理数据,返回一个字符串或者给context设置或添加变量。
inclusion_tag (包含标签) : 处理数据,返回一个渲染过的模板。
Django框架提供了很多系统模板标签,同时也给开发人员提供了自定义模板标签的方式。
2, 系统模板标签
常见的系统模板标签一般都在Django.template..defaulttags包中,具体有以下标签:
2.1 autoescape
该标签用来控制当前的自动转义行为。该标签带有一个参数,可以选择 on 或者off 两个值用来决定是否在标签所在区域是否对相关特殊字符实行自动转义。该标签与 endautoescape 标签配对形成一个封闭区域。
当这个标签生效时,包含 HTML 的变量先转义再输出(在此之前先应用过滤器)。这个效果与在各个变量上应用escape 过滤器的效果近似。