Как проверить размер коллекции с помощью шаблонов Django?

У меня есть список в моем шаблоне Django. Я хочу что-то сделать, только если размер списка больше нуля. Как я могу это проверить?

Я пробовал myList / length и myList|length_is, но не был успешным. Я искал везде и не вижу никаких примеров.

5 ответов


см.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


вы можете попробовать с:

{% if theList.object_list.count > 0 %}
    blah, blah...
{% else %}
    blah, blah....
{% endif %}