1. 程式人生 > 其它 >Django | 模板語法之標籤的使用(if,for..)

Django | 模板語法之標籤的使用(if,for..)

模板語法之標籤

for迴圈

語法結構:
{% for 變數名 in 待迴圈集 %}
	迴圈體程式碼
{% endfor %}

# 可直接輸入for按Tab鍵補全for迴圈的語法結構

eg:
{% for foo in l %}
    {{ foo }}
{% endfor %}

關鍵字:forloop

# forloop關鍵字可標識資料的狀態

first:標識for迴圈是第一次
last :標識for迴圈時最後一次
counter0 : 索引
counter  : 計數
revcounter :倒序計數
revcounter0:倒序索引

if判斷

語法結構:
{% if b %}     # 判斷b是否為True
    <p>if</p>  # 條件成立執行
{% elif s %}  # 上述條件為False判斷elif條件
    <h1>elif</h1>  # elif條件成立執行
{% else %}   # 上述都為False
    <p>else</p>
{% endif %}  # 結束語法


# 可直接輸入if按Tab鍵補全語法結構

for與if混合使用:

{% for foo in lll %}
    {% if forloop.first %}    
        <p>這是我的第一次</p>
    {% elif forloop.last %}
        <p>這是最後一次啊</p>   
    {% else %}
        <p>{{ foo }}</p>      
    {% endif %}
    {% empty %}
        <p>for迴圈的可迭代物件內部沒有元素 根本沒法迴圈</p>
{% endfor %}

處理字典的其他方法:

# 處理字典其他方法
{% for foo in d.keys %}   # keys
    <p>{{ foo }}</p>
{% endfor %}
{% for foo in d.values %}  # values
    <p>{{ foo }}</p>
{% endfor %}
{% for foo in d.items %}   # items
    <p>{{ foo }}</p>
{% endfor %}

with起別名:

{% with dd.hobby.2.info as nb  %}
    <p>{{ nb }}</p>
    # 在with語法內就可以通過as後面的別名快速的使用到前面非常複雜獲取資料的方式
    <p>{{ dd.hobby.2.info }}</p>   # 也可以使用之前的
{% endwith %}