django模板中的自定义过滤器
(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
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步