过滤器
过滤器是通过|符号进行使用的。例如{{ 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,计算字符串中单词的个数。