django模板中的自定义过滤器
Posted 老和尚不念经
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于django模板中的自定义过滤器的主要内容,如果未能解决你的问题,请参考以下文章
“模板语法错误:过滤器无效:”;基于 django 文档的自定义 django 模板过滤器损坏,但模板标签有效
我的自定义 Django 模板过滤器但没有任何其他过滤器的“无效过滤器”错误