模版是乙個用django模版語言標記過的python字串。模版可以包含模版標籤和變數。
模版標籤是在乙個模版裡起作用的標記。比如,乙個模版標籤可以產生控制結構的內容(if或者for),可以獲取資料庫內容或者訪問其它模版標籤。
乙個標籤塊被包圍
變數標籤被}包圍
context是乙個傳遞給模版的key-value對。
模版渲染是通過從context獲取值來替換模版中變數並執行所有的模版標籤。
from django import template
register = template.library()
class
uppernode
(template.node):
def__init__
(self,nodelist):
self.nodelist = nodelist
defrender
(self, context):
content = self.nodelist.render(context)
return content.upper() #大小寫轉換
@register.tag
defupper
(parser,token):
nodelist = parser.parse("endupper") #指定結束符
parser.delete_first_token()
return uppernode(nodelist)
然後在html中載入:
自定義標籤
}
Django 自定義標籤
新建乙個資料夾mydefined裡面在新建乙個templatetags在裡面新建mytags.py mytags.py 劉文豪 大帥哥 from django import template register template.library 建立模板物件 定義模板節點 class reversal...
Django自定義過濾器和自定義標籤
3 在模板下建立任意名稱的.py檔案 4 在剛剛建立的.py檔案中定製過濾器 from django.template import library register library register.filter name rule 最多包含兩個引數 defrule value,before 將b...
django 模版系統 標籤的自定義
為了自定義乙個模版標籤,你要告訴django遇到這個標籤的時候該怎麼辦。當django編譯乙個模版時,它將原來的模版分成乙個個節點 node 每個節點都是django.template.node的乙個例項,並且具備render 方法,於是,乙個已編譯的模版就是節點物件的乙個列表,例如 hello,b...