Django 自定義標籤

2021-10-20 07:28:03 字數 1382 閱讀 8915

新建乙個資料夾mydefined裡面在新建乙個templatetags在裡面新建mytags.py

mytags.py

# 劉文豪

# 大帥哥

from django import template

register = template.library(

)# 建立模板物件

# 定義模板節點

class

reversalnode

(template.node)

:def

__init__

(self, value)

: self.value =

str(value)

defrender

(self, context)

:# 資料反轉處理

return self.value[::

-1]@register.tag(name=

'reversal'

)# 宣告定義標籤

defdo_reversal

(parse, token)

:# parse是解析器物件, token是被解析的物件

try:

tag_name, value = token.split_contents(

)# tag_name是代表標籤名,value是由標籤傳遞的資料

except

:raise template.templatesyntaxerror(

'syntax'

)return reversalnode(value)

# 調節自定義的模板節點 c

index裡面urls.py

path(

'', views.index10, name=

'index10'

)

檢視函式views.py

def

index10

(request)

:return render(request,

'index10.html'

,locals()

)

index10.html

"en"

>

"utf-8"

>

title<

/title>

<

/head>

<

/body>

<

/html>

Django 自定義標籤

模版是乙個用django模版語言標記過的python字串。模版可以包含模版標籤和變數。模版標籤是在乙個模版裡起作用的標記。比如,乙個模版標籤可以產生控制結構的內容 if或者for 可以獲取資料庫內容或者訪問其它模版標籤。乙個標籤塊被包圍 變數標籤被 包圍 context是乙個傳遞給模版的key va...

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...