Jinja2 で文字列として「None」出力を抑制する 質問する

Jinja2 で文字列として「None」出力を抑制する 質問する

"None"値が の場合にJinja2 が印刷しないようにするにはどうすればよいでしょうかNone?

辞書に多数のエントリがあり、異なるキーワードごとに特別なケースを用意するのではなく、すべてを 1 つのループで出力したいと考えています。None(NoneType文字列ではなく) の値がある場合、その文字列"None"がテンプレートのレンダリング結果に挿入されます。

を使用してこれを抑制しようとする{{ value or '' }}と、数値 0 も置き換えられるため、うまく機能します。

レンダリングのために Jinja2 に渡す前に辞書をフィルタリングする必要がありますか?

ベストアンサー1

Jinja2 の新しいバージョン (2.9 以降):

{{ value if value }}

Jinja2 の古いバージョン (2.9 より前):

{{ value if value is not none }}よく働く。

else がないというエラーが発生した場合は、else を使用してみてください。

{{ value if value is not none else '' }}

おすすめ記事