django テンプレートはアイテムの値または空の文字列を表示します 質問する

django テンプレートはアイテムの値または空の文字列を表示します 質問する

テンプレート内のコードは次のようになります:

{% for item in items %}
    {{ item.somefield }}
{% endfor %}

item.somefield が None でない場合はアイテムの値を表示するか、空の文字列を表示します。{% if item.somefield %} ステートメントは使用せず、{{ item.somefield or '' }} のようなものを使用します (これを試しましたが、機能しません)

ベストアンサー1

テンプレートフィルターが必要な場合はdefault_if_none、(ドキュメント)。

default_if_none変数が 'None' の場合、指定された文字列が表示されます。

default変数がFalseと評価された場合、つまり空の文字列、空のリストなどの場合は文字列を表示します。

{{ item.somefield|default_if_none:"" }}
{{ item.somefield|default:"" }}

おすすめ記事