Jinja2 模板过滤器
本章主题
关键词
Jinja2模版过滤器
过滤器是通过管道符号 |
进⾏使⽤的,例如:{{ name | length }}
,将返回 name
的⻓度。过滤器相当于是⼀个函数,把当前的变量传⼊到过滤器中,然后 过滤器根据⾃⼰的功能,再返回相应的值,之后再将结果渲染到⻚⾯中。Jinja2 中内置了许多过滤器,在这⾥可以看到所有的过滤器:
过滤器 | 作用 |
---|---|
abs(value) | 返回⼀个数值的绝对值。 |
default(value,default_value,boolean=false) | 如果当前变量没有值,则会 使⽤参数中的值来代替。 name|default('juran') :如果 name 不存在,则会使⽤ juran 来替代。boolean=False 默认是在只有这个变量为 undefined 的时 候才会使⽤ default 中的值,如果想使⽤ python 的形式判断是否为 false ,则 可以传递 boolean=true 。也可以使⽤ or 来替换。 |
escape(value) 或 e | 转义字符,会将 < 、> 等符号转义成 HTML 中的符号。例 如:content|escape或content|e 。 |
first(value) | 返回⼀个序列的第⼀个元素。names|first 。 |
format(value,*arags,**kwargs) | 格式化字符串。例如这段代码:{{ "%s" - "%s"|format('Hello?',"Foo!") }}将输出:Helloo? - Foo! |
last(value) | 返回⼀个 序列 的 最后⼀个元素。示例:names|last 。 |
length(value) | 返回⼀个 序列 或者 字典 的⻓度。示例:names|length 。 |
join(value,d=u'') | 将⼀个序列⽤ d 这个参数的值拼接成字符串 |
safe(value) | 如果开启了全局转义,那么 safe 过滤器会将变量关掉转义。示 例:content_html|safe 。 |
int(value) | 将值转换为 int 类型。 |
float(value) | 将值转换为 float 类型。 |
lower(value) | 将字符串转换为⼩写。 |
upper(value) | 将字符串转换为⼩写。 |
replace(value,old,new) | 替换将 old 替换为 new 的字符串。 |
truncate(value,length=255,killwords=False) | 截取 length ⻓度的字符串。 |
striptags(value) | 删除字符串中所有的 HTML标签,如果出现多个空格,将替换成⼀个空格。 |
trim | 截取字符串前⾯和后⾯的空⽩字符。 |
string(value) | 将变量转换成字符串。 |
wordcount(s) | 计算⼀个⻓字符串中单词的个数。 |
总结小便条
本篇文章主要讲了以下几点内容:
本章回顾暂时就到这了,如果还有点晕,那就把文章里所有引用的案例代码再敲几遍吧。拜拜~