Elementwert der Django-Vorlage oder leere Zeichenfolge


86

Mein Code in der Vorlage sieht folgendermaßen aus:

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

Ich möchte den Elementwert anzeigen, wenn das Feld item.somefield nicht None ist, oder eine leere Zeichenfolge anzeigen. Ich möchte die Anweisung {% if item.somefield%} nicht verwenden, sondern etwas wie {{item.somefield oder ''}} (ich habe es versucht, aber es funktioniert nicht).

Antworten:


218

Sie möchten den default_if_noneVorlagenfilter ( doc ).

default_if_none zeigt die angegebene Zeichenfolge an, wenn die Variable 'Keine' ist.

default zeigt die Zeichenfolge an, wenn die Variable False ergibt, dh leere Zeichenfolgen, leere Listen usw.

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

Danke @rockingskier;)
Moe Far

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

5
Vielleicht möchten Sie Ihrer Antwort eine Erklärung hinzufügen, anstatt nur Code. Dies hilft der Person, die die Frage gestellt hat, Ihre Antwort besser zu verstehen.
Victor Zamanian
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.