djangoテンプレートの表示アイテムの値または空の文字列


88

テンプレートの私のコードは次のようなものです:

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

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

回答:


225

default_if_noneテンプレートフィルターが必要です(doc)。

default_if_none 変数が「なし」の場合、指定された文字列を表示します。

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

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

ありがとう@rockingskier;)
Moe Far

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

5
コードだけでなく、回答に説明を追加することもできます。これは、質問をした人があなたの答えをよりよく理解するのに役立ちます。
ビクターザマニアン2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.