一. 模板中不同类型的变量
Jinja2能识别所有类型的变量, 除了前面章节提到的字符串,还可以识别一些复杂的类型, 例如:列表, 字典和对象。 实例如下:
<p>A value from a dictionary: {{ mydict['key'] }}.</p> #变量是字典mydict
<p>A value from a list: {{ mylist[3] }}.</p> #变量是列表
<p>A value from a list, with a variable index: {{ mylist[myintvar] }}.</p> #变量是列表, 索引是变量
<p>A value from an object's method: {{ myobj.somemethod() }}.</p> #变量是对象和它的方法
二.过滤器修饰变量
可以用过滤器修饰变量, 过滤器名添加在变量名之后, 中间使用竖线分隔。 例如:
Hello, {{ name|capitalize }} #以首字母大写的形式显示变量name的值
常用过滤器
过滤器名 | 说明 |
---|---|
safe | 渲染时不转义 |
capitalize | 把值的首字母大写, 其它字母小写 |
lower | 把值转换为小写形式 |
upper | 把值转换为大写形式 |
title | 把值中的每个首字母都转换为大写形式 |
trim | 把值的首尾空格去掉 |
striptags | 渲染之前把值中的所有HTML标签都去掉 |