新建乙個資料夾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...