Django 自定義標籤

2021-07-29 16:59:14 字數 839 閱讀 8888

模版是乙個用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...