Ответ 1
См. https://docs.djangoproject.com/en/stable/ref/templates/builtins/#if: просто используйте, чтобы воспроизвести их пример:
{% if athlete_list %}
Number of athletes: {{ athlete_list|length }}
{% else %}
No athletes.
{% endif %}
У меня есть список в моем шаблоне Django. Я хочу что-то сделать, только если размер списка больше нуля. Как я могу проверить это?
Я пробовал myList | length и myList | length_is, но не был успешным. Я искал все и не вижу никаких примеров.
См. https://docs.djangoproject.com/en/stable/ref/templates/builtins/#if: просто используйте, чтобы воспроизвести их пример:
{% if athlete_list %}
Number of athletes: {{ athlete_list|length }}
{% else %}
No athletes.
{% endif %}
Если вы используете недавний Django, список изменений 9530 внесли блок {% empty%}, позволяющий писать
{% for athlete in athlete_list %}
...
{% empty %}
No athletes
{% endfor %}
Полезно, если что-то, что вы хотите сделать, включает в себя итерацию по непустому списку.
Список считается False
, если он не имеет элементов, поэтому вы можете сделать что-то вроде этого:
{% if mylist %}
<p>I have a list!</p>
{% else %}
<p>I don't have a list!</p>
{% endif %}
Если вы попробовали myList | length и myList | length_is и не получили желаемые результаты, тогда вы должны использовать myList.count