2009-05-23 1 views
91

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

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

ответ

17

список считается False, если она не имеет элементов, так что вы можете сделать что-то вроде этого:

{% if mylist %} 
    <p>I have a list!</p> 
{% else %} 
    <p>I don't have a list!</p> 
{% endif %} 
74

Если вы используете недавний Django, changelist 9530 представили блок {% empty%}, позволяющий вам написать

{% for athlete in athlete_list %} 
    ... 
{% empty %} 
    No athletes 
{% endfor %} 

Полезно, если что-то, что вы хотите сделать, включает в себя итерацию по непустому списку.

+0

Ссылка: https://docs.djangoproject.com/en/1.9/ref/templates/builtins/# for-empty –

9

Если вы пробовали MyList | длину и MyList | length_is и ее не получает желаемые результаты, то вы должны использовать myList.count

+0

Это не работает в Django 1.3 – Taras

+0

Это работает в 1.4, спасибо. – fadedbee

+0

@Nilesh Это не работает для меня в шаблоне – rtindru