Jinja2 过滤器和测试器
前言
在 Python 中处理变量用函数,在 Jinja2 模板中则用过滤器和测试器:过滤器用于转换/格式化输出,测试器用于判断元素是否满足条件。
内置过滤器
{{ name | upper }} {# 转大写 #}
{{ name | lower }} {# 转小写 #}
{{ name | title }} {# 首字母大写 #}
{{ price | round(2) }} {# 保留 2 位小数 #}
{{ price | int }} {# 转整型 #}
{{ items | length }} {# 长度 #}
{{ items | join(", ") }} {# 用分隔符拼接 #}
{{ items | first }} {# 第一个元素 #}
{{ items | last }} {# 最后一个元素 #}
{{ value | default("空") }} {# 默认值 #}
{{ text | truncate(20) }} {# 截断 #}
{{ text | safe }} {# 标记为安全,不转义(慎用,防 XSS) #}
{{ value | tojson }} {# 转 JSON #}
过滤器可以串联:
{{ name | trim | upper }}