Jinja2はPythonのテンプレートエンジンです。
以下に代表的なフィルタをメモしておきます。
フィルタとは変数に対して加工を行う時の便利な関数のようなものです。
{{ my_var | default('なし') }}
変数が定義されていない、または値がない場合に、指定したデフォルト値を設定します。
{ items | length }}
リスト、文字列、辞書などの要素数や長さを取得します。
{{ " Hello " | trim }}
文字列の先頭と末尾にある空白文字を削除します。
{{ "Title<br>" | striptags }}
文字列からHTML/XMLタグをすべて取り除き、プレーンテキストにします。
{{ raw_html | safe }}
変数に含まれるHTMLをエスケープせずにそのまま表示させます(セキュリティリスクがあるため注意)。
{{ 'hello world' | capitalize }}
文字列の最初の文字だけを大文字にし、残りを小文字にします。
{{ name | upper }}
文字列をすべて大文字に変換します。
{{ NAME | lower }}
文字列をすべて小文字に変換します。
{{ sentence | wordcount }}
文字列内の単語の数をカウントします。
{{ names | join(', ')}}
リストの要素を指定した区切り文字で結合して文字列にします。
{{ "Hello %s!" | format(user.name) }}
Pythonの % 演算子と同様に、文字列内のプレースホルダを引数の値で置き換えます。
{{ numbers | sum(attribute=None) }}
リスト内の要素(数値、または特定の属性の値)の合計を計算します。
truncate(length=25, killwords=False, end='...')
文字列を指定した長さに切り詰めます。
