Как показать определенное значение вместо None в Django?
Я новичок в Django и я передаю объект players
в мой HTML шаблон. Я выполняю итерации над этим объектом и показываю player.lastName, но это значение иногда возвращает None. Как я могу показать значение по своему выбору, если player.lastName был None.
Я хочу написать что-то вроде:
{% for player in players %}
<td>{{player.lastName 'OR' - }}
Текущее поведение покажет
<td> LastName 1 </td>
<td> None </td>
<td> LastName 3 </td>
Но что я хочу показать
<td> LastName 1 </td>
<td> - </td> // folowing the OR ( since Value was none show "-"
<td> LastName 3 </td>
Вы можете работать с |default_if_none фильтром шаблонов [Django-doc]:
<td>{{player.lastName|default_if_none:"-" }}</td>
или используйте |default фильтр шаблона [Django-doc] если вы хотите вывести альтернативу, если элемент оценивается в False (так False, None, '' пустая строка, 0 и т.д.):
<td>{{player.lastName|default:"-" }}</td>