2009-05-23 38 views
91

我在我的Django模板中有一個列表。我只想在列表大小大於零的情況下執行某些操作。我怎樣才能檢查這個?如何使用Django模板檢查集合的大小?

我已經嘗試myList |長度和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 – 2016-01-25 22:41:16

9

如果你試圖myList中|長度和myList中| length_is其沒有得到預期的效果,那麼就應該使用myList.count

+0

這不適用於Django 1.3 – Taras 2012-02-14 20:25:47