Django DTL模板語法中的循環的筆記
阿新 • • 發佈:2019-01-21
如果 對象 第一次 語句 values loop for循環 開始 evc
for...in...筆記:
for...in...
標簽:
for...in...
類似於Python
中的for...in...
。可以遍歷列表、元組、字符串、字典等一切可以遍歷的對象。示例代碼如下:
{% for person in persons %}
<p>{{ person.name }}</p>
{% endfor %}
如果想要反向遍歷,那麽在遍歷的時候就加上一個reversed
。示例代碼如下:
{% for person in persons reversed %} <p>{{ person.name }}</p> {% endfor %}
遍歷字典的時候,需要使用items
、keys
和values
等方法。在DTL
中,執行一個方法不能使用圓括號的形式。遍歷字典示例代碼如下:
{% for key,value in person.items %}
<p>key:{{ key }}</p>
<p>value:{{ value }}</p>
{% endfor %}
在for
循環中,DTL
提供了一些變量可供使用。這些變量如下:
forloop.counter
:當前循環的下標。以1作為起始值。forloop.counter0
:當前循環的下標。以0作為起始值。forloop.revcounter
forloop.revcounter0
:類似於forloop.revcounter。不同的是最後一個元素的下標是從0開始。forloop.first
:是否是第一次遍歷。forloop.last
:是否是最後一次遍歷。forloop.parentloop
:如果有多個循環嵌套,那麽這個屬性代表的是上一級的for循環。
** 模板中的for...in...沒有continue和break語句,這一點和Python中有很大的不同,一定要記清楚! **
for...in...empty
標簽:
這個標簽使用跟for...in...
是一樣的,只不過是在遍歷的對象如果沒有元素的情況下,會執行empty
中的內容。示例代碼如下:
{% for person in persons %}
<li>{{ person }}</li>
{% empty %}
暫時還沒有任何人
{% endfor %}
Django DTL模板語法中的循環的筆記