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.