{% if name %}

Hello {{ name | upper | truncate(3, True) }}!

{% else %}

Hello World!

{% endif %} {# 字符串操作 #} {# 当变量未定义时,显示默认字符串 #}

{{ name | default('No name', true) }}

{# 单词首字母大写 #}

{{ 'hello' | capitalize }}

{# 单词全小写 #}

{{ 'XML' | lower }}

{# 去除字符串前后的空白字符 #}

{{ ' hello ' | trim }}

{# 字符串反转,返回"olleh" #}

{{ 'hello' | reverse }}

{# 格式化输出,返回"Number is 2" #}

{{ '%s is %d' | format("Number", 2) }}

{# 关闭HTML自动转义 #}

{{ 'name' | safe }}

{% autoescape false %} {# HTML转义,即使autoescape关了也转义 #}

{{ 'name' | escape }}

{% endautoescape %} {# 数值操作 #} {# 四舍五入取整,返回13.0 #}

{{ 12.8888 | round }}

{# 向下截取到小数点后2位,返回12.88 #}

{{ 12.8888 | round(2, 'floor') }}

{# 绝对值,返回12 #}

{{ -12 | abs }}

{# 列表操作 #} {# 取第一个元素 #}

{{ [1,2,3,4,5] | first }}

{# 取最后一个元素 #}

{{ [1,2,3,4,5] | last }}

{# 返回列表长度 #}

{{ [1,2,3,4,5] | length }}

{# 列表求和 #}

{{ [1,2,3,4,5] | sum }}

{# 列表排序,默认为升序 #}

{{ [3,2,1,5,4] | sort }}

{# 合并为字符串,返回"1 | 2 | 3 | 4 | 5" #}

{{ [1,2,3,4,5] | join(' | ') }}

{# 列表中所有元素都全大写。这里可以用upper,lower,但capitalize无效 #}

{{ ['tom','bob','ada'] | upper }}

{# 字典列表操作 #} {% set users=[{'name':'Tom','gender':'M','age':20}, {'name':'John','gender':'M','age':18}, {'name':'Mary','gender':'F','age':24}, {'name':'Bob','gender':'M','age':31}, {'name':'Lisa','gender':'F','age':19}] %} {# 按指定字段排序,这里设reverse为true使其按降序排 #} {# 列表分组,每组是一个子列表,组名就是分组项的值 #} {# 取字典中的某一项组成列表,再将其连接起来 #}

{{ users | map(attribute='name') | join(', ') }}

{# tojson #} {% filter upper %} This is a Flask Jinja2 introduction. {% endfilter %} {# 自定义过滤器 #} {# 返回[1,3,5] #}

{{ [1,2,3,4,5] | double_step }}

{# 返回[2,3,4] #}

{{ [1,2,3,4,5] | sub(1,4) }}