У меня есть список в моем шаблоне Django. Я хочу сделать что-то, только если размер списка больше нуля.
Я пробовал myList|length и myList|length_is, но они не увенчались успехом.
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, если в нем нет элементов, поэтому вы можете сделать что-то вроде этого:
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
myList.count
Вы можете попробовать:
{% if theList.object_list.count > 0 %} blah, blah... {% else %} blah, blah.... {% endif %}
Collection.count без кронштейна
{% if request.user.is_authenticated %} {{wishlists.count}} {% else %}0{% endif %}