1.需要在應用資料夾下建立templatetags資料夾,必須是這個名字。
2.templatetags資料夾建立乙個xx.py檔案,檔名隨便起
3.建立自定義過濾器
from django import template
register = template.library(
)#必須這個名字
#自定義過濾器
@register.
filter
defoo
(v1,v2)
: s = v1 + v2
return s
html中:
"en"
>
"utf-8"
>
title<
/title>
<
/head>
}#沒有引數
}#有引數
#引數最多兩個
<
/body>
<
/html>
建立標籤:
from django import template
register = template.library(
)# 自定義標籤
@register.******_tag
defmytag
(v1,v2,v3)
: s = v1 +
'test'
+ v2 +
' '
+ v3
return s
html檔案:
"en"
>
"utf-8"
>
title<
/title>
<
/head>
#}<
/h1>
<
/body>
<
/html>
建立inclusion_tag:
# inclusion_tag
@register.inclusion_tag(
'inclusiontag.html'
)#將inclusiontag.html裡面的內容用下面函式的返回值渲染,然後作為乙個元件一樣,載入到使用這個函式的html檔案裡面
deffunc()
:return
xx.html檔案中(這個檔案類似於乙個元件):
"en"
>
"utf-8"
>
title<
/title>
<
/head>
#迴圈列印func的值
}<
/li>
<
/ul>
<
/body>
<
/html>
oo.html檔案中:
"en"
>
"utf-8"
>
title<
/title>
<
/head>
#這裡會載入xx.html裡面的內容,功能和上篇問斬的的include類似
還可以傳參:
1.後端**:
def
xxoo
(request)
: s1 =
'張三和李四'
li =[11
,22,33
,44,55
,66]return render(request,
'xxoo.html'
,)
前端**:
xxoo.html
"en"
>
"utf-8"
>
title<
/title>
<
/head>
<
/body>
<
/html>
templatetags資料夾下xx.py
# inclusion_tag
@register.inclusion_tag(
'inclusiontag.html'
)def
func
(v1)
:return
xx.html:
"en"
>
"utf-8"
>
title<
/title>
<
/head>
}<
/li>
<
/ul>
<
/body>
<
/html>
流程:
後端將引數傳給func函式v1,func返回的值給inclusiontag.html去渲染,xxoo.html執行func函式
需要在專案資料夾下建立乙個靜態資料夾(statics),名字隨便起
settings.py檔案中需要配置一下:
#靜態路徑 給下面的路徑staticfiles_dirs起個別名
static_url =
'/static/'
staticfiles_dirs =
[ os.path.join(base_dir,
'statics'
)]
html檔案中使用:
#先載入
"en"
>
"utf-8"
>
title<
/title>
"stylesheet" href=
"">
#標籤的寫法
<
/head>
/h1>
<
/body>
<
/html>
:獲取靜態檔名:起別名,下次用的時候直接用xx就行:
Django自定義模板過濾器
比如,現在通過資料採集,得到了全國3億人的生日,然後要在前端進行展示,但是,由於資料 多處,導致生日的格式各種各樣,比如 1983 02 03 2016年4月16日,這個時候如果資料採集過程當中沒有進行資料過濾,就需要有一種功能針對每一條資料的日期進行修改。這時候就需要用到過濾器了。在templat...
django 自定義模板標籤和過濾器
django 自定義模板標籤和過濾器 1.建立乙個模板庫 books init py models.py templatetags views.py 在 templatetags 中建立兩個空檔案 乙個 init py 告訴python這是乙個包含了python 的包 和乙個用來存放你自定義的標籤 ...
Django 自定義模板標籤和過濾器
想要實現自定義標籤和過濾器需要進行準備工作 準備 必需 工作 polls init py models.py templatetags init py mytags.py views.py django.contrib.admin django.contrib.auth django.contrib...