Szablon django wyświetla wartość elementu lub pusty ciąg

88

Mój kod w szablonie wygląda tak:

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

Chcę wyświetlić wartość pozycji, jeśli item.somefield nie ma wartości None, lub wyświetlić pusty ciąg. Nie chcę używać instrukcji {% if item.somefield%}, chcę coś takiego jak {{item.somefield lub ''}} (próbowałem, ale to nie działa)

Roger Liu
źródło

Odpowiedzi:

225

Chcesz default_if_nonefiltr szablonu, ( doc ).

default_if_none wyświetli podany ciąg, jeśli zmienną jest „Brak”.

default wyświetli łańcuch, jeśli wartość zmiennej ma wartość False, tj. puste łańcuchy, puste listy itp

{{ item.somefield|default_if_none:"" }}
{{ item.somefield|default:"" }}
rockingskier
źródło
Dzięki @rockingskier;)
Moe Far
12
{{ item.somefield|default_if_none:"" }}
matino
źródło
5
Możesz chcieć dodać wyjaśnienie do swojej odpowiedzi, a nie tylko kod. Pomaga to osobie, która zadała pytanie, lepiej zrozumieć Twoją odpowiedź.
Victor Zamanian