django模板中的自定義過濾器
阿新 • • 發佈:2017-07-31
tag span .lib 名稱 models mod ppa har import
(1)在APP下創建templatetags文件夾,與Models.py、views.py等同級,templatetags文件夾下添加__init__.py文件,可為空,再添加一個模塊文件,例如cpt_filters.py,目錄結構如下
myapp/ __init__.py models.py templatetags/ __init__.py cpt_filters.py views.py admin.py appa.py
目錄下添加__init__.py文件可讓python知道這裏是python包,這裏的所有python文件可被直接在別處引用。
(2)添加自定義過濾器
from django import template register = template.Library() #實例化Library @register.filter #註冊過濾器 #這個過濾器是返回給定字典中key名稱對應的value值 def get_value(mydict, keyname): return mydict[keyname]
(3)在模板中應用
#首先在模板頭部引入過濾器 {% load cpt_filters %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {{ mydict | get_value:keyname }} </body> </html
django模板中的自定義過濾器