过滤器的本质就是函数。有时候我们不仅仅只是需要输出变量的值,我们还需要修改变量的显示,甚至格式化、运算等等,而在模板中是不能直接调用 Python 中的某些方法,那么这就用到了过滤器。
使用方式:
{{variable | filter_name(*args)}}
{{variable | filter_name}}
在 jinja2 中,过滤器是可以支持链式调用的,示例如下:
{{ "hello world" | reverse | upper }}
{{ 'hello' | safe }}
{{ 'hello' | capitalize }}
{{ 'HELLO' | lower }}
{{ 'hello' | upper }}
{{ 'hello' | title }}
{{ 'olleh' | reverse }}
{{ '%s is %d' | format('name',17) }}
{{ 'hello' | striptags }}
{{ 'hello every one' | truncate(9)}}
{{ [1,2,3,4,5,6] | first }}
{{ [1,2,3,4,5,6] | last }}
{{ [1,2,3,4,5,6] | length }}
{{ [1,2,3,4,5,6] | sum }}
{{ [6,2,3,1,5,4] | sort }}
{% filter upper %}
#一大堆文字#
{% endfilter %}