шаблон django отображает значение элемента или пустую строку


88

Мой код в шаблоне выглядит так:

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

Я хочу отобразить значение элемента, если поле item.somefield не равно None, или отобразить пустую строку. Я не хочу использовать оператор {% if item.somefield%}, мне нужно что-то вроде {{item.somefield или ''}} (я пробовал это, но это не работает)

Ответы:


225

Вам нужен default_if_noneшаблонный фильтр ( док ).

default_if_none отобразит данную строку, если переменная - «Нет».

default отобразит строку, если переменная оценивается как False, т.е. пустые строки, пустые списки и т. д.

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

Спасибо @rockingskier;)
Moe Far

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

5
Возможно, вы захотите добавить к своему ответу некоторые пояснения, а не просто код. Это поможет человеку, задавшему вопрос, лучше понять ваш ответ.
Виктор Заманян
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.