フィルタ
Jinja2のフィルタ機能の説明です。
目次
使い方
htmlファイル内で{ 変数 }
の形で流し込むところ、
{ 変数 | フィルタ } |
とすることで変数に格納された値を加工して表示することができます。
例えば、
{ str | lower } |
で変数str
内の文字列はlower
というフィルタがかかって小文字になります。
組み込みフィルタの例
文字列
- trim()
- default()
default(value: V, default_value: V = '', boolean: bool = False) → V
で、V
未定義時にもデフォルト値を入れるには最後の引数のブール値をtrue
にする
型変換
- string()、int()、float()
数値
- abs()、max()、min()
- round()
- 公式の例は
{{ 42.55|round|int }}
、{{ 42.55|round(1, 'floor') }}
で、上へはceil
- 公式の例は
集合操作・集約
- length()
- unique()
- sort()
- sum()
- map()
- 公式の例は
{{ users|map(attribute="username", default="Anonymous")|join(", ") }}
- 公式の例は
- groupby()
- 公式の例は
{% for city, items in users|groupby("city") %}
- 公式の例は
フィルタ登録
flaskではtemplate_filter('フィルタ名')
でアプリ内に独自フィルタを登録することができます。
次は公式の例で、リストを逆順にするreverse
フィルタを登録しています。
|