Django模板之模板標籤

2022-05-15 15:23:37 字數 3667 閱讀 8243

標籤比變數更加複雜:一些在輸出中建立文字,一些通過迴圈或邏輯來控制流程,一些載入其後的變數將使用到的額外資訊到模版中。

一些標籤需要開始和結束標籤 (例如:

...標籤 內容...

),有些標籤不需要結束

快捷鍵:輸入tag直接回車

for標籤:迴圈遍歷可迭代變數中的每乙個元素,沒有break和continue等複雜功能,相關操作模擬python。

(1)遍歷列表:

tagtest.html

模板:<li>}li>

反向遍歷:

<li>}li>

views.py

檢視:deftagtest(request):

list=["zhang","wang","li"]

returnrender(request,"tagtest.html",)

渲染結果:

(2)列表中字典取值:

tagtest.html

模板:<li>}li>

views.py

檢視:deftagtest(request):

list=[,,]

returnrender(request,"tagtest.html",)

渲染結果:

(3)遍歷字典:

tagtest.html

模板:<li>}:}li>

views.py

檢視:deftagtest(request):

dic=

returnrender(request,"tagtest.html",)

渲染結果:

遍歷乙個空的變數或者未找到時執行empty

tagtest.html

模板:<li>

}li>

<p>

給出的變數為空或者未找到!

p>

views.py

檢視:deftagtest(request):

list=

returnrender(request,"tagtest.html",)

渲染結果:

5)forloop使用案例:

tagtest.html

模板:<li>

}---}

li>

配合屬性使用:

<li>

}---}

li>

views.py

檢視:deftagtest(request):

li=["python","mysql","web"]

returnrender(request,"tagtest.html",)

渲染結果:

注:迴圈序號可以通過{{

forloop

}}顯示,必須在迴圈內部用:

forloop.counter           

當前迴圈的索引值(從1開始),forloop是迴圈器,通過點來使用功能

forloop.counter0         

當前迴圈的索引值(從0開始)

forloop.revcounter        

當前迴圈的倒序索引值(從1開始)

forloop.revcounter0       

當前迴圈的倒序索引值(從0開始)

forloop.first             

當前迴圈是不是第一次迴圈(布林值)

forloop.last              

當前迴圈是不是最後一次迴圈(布林值)

forloop.parentloop        

本層迴圈的外層迴圈的物件,再通過上面的幾個屬性來顯示外層迴圈的計數等

if標籤:

判斷變數的邏輯值是進行選擇性的輸出

,模擬python(

= <= >= !=  == 

and or not not in is is not

前後必須要有空格

)tagtest.html

模板:<h1>

大於100

h1>

<h1>

小於100

h1>

<h1>

等於100

h1>

views.py

檢視:deftagtest(request):

n=100

returnrender(request,"tagtest.html",)

渲染結果:

with標籤:

多用於給乙個複雜的變數起別名

注意:等號左右不要加空格。} 或

}

django模板標籤

載入乙個模板,並根據上下文渲染它。用於在乙個模板中包含其他模板。標記當前模板擴充套件乙個父模板。這個標籤有兩種用法 1.直接使用要擴充套件的父模板的名字 html 2.用變數variable的值來指定父模板,如果變數是乙個字串,django會把字串的值當做父模板的檔名,如果變數是乙個template...

Django模板標籤

zqxt tutorial init py admin.py models.py templates tutorial index.html search.html tests.py views.py tryit init py admin.py models.py templates tryit ...

Django (三)模板標籤

執行操作1 執行操作2 執行操作3 這是第乙個值 forloop.count0 forloop.count forloop.revcounter forloop.revcounter0 forloop.first 返回bool forloop.last forloop.parentloop 如果發生...