过滤器
过滤器是通过|
符号进行使用的。例如{{ user.name|length }}
将返回指定变量内容的长度。过滤器相当于一个函数,将其前方的值传入函数中,返回处理后的值。Jinja2中常用的过滤器有以下这些:
abs
,返回数字的绝对值;default(value, boolean=False)
,如果当前变量没有值,则使用参数中的值代替,如果boolean
参数值为true
则以Python的方式判断是否为false
,否则只有变量为undefined
时才会输出默认值;escape
或者e
,将字符串转义后输出;first
,返回序列的第一个元素;format(*args, **kwargs)
,格式化输出字符串,例如{{ "\%s" - "\%s"|format('Hello', 'Foo') }}
;last
,返回序列的最后一个元素;length
,返回序列、字符串或者字典的长度;join(value)
,用value
作为分隔符拼接序列为字符串;safe
,如果开启了全局转义,则临时关闭转义;int
,将值转换为整型;float
,将值转换为浮点型;lower
,将字符串转换为小写;upper
,将字符串转换为大写;replace(old, new)
,将字符串中的old
替换为new
;truncate(length=255, killwords=False)
,截取长度为length
的字符串;striptags
,删除字符串中的HTML标签;string
,将值转换为字符串;workcount
,计算字符串中单词的个数。