https://docs.djangoproject.com/zh-hans/3.1/howto/custom-template-tags/
代码布局
自定义的 tags 和 filters 会保存在模块名为 templatetags
的目录内。模块文件的名字即稍候你用来加载 tags 的名字,所以小心不要采用一个可能与其它应用自定义的 tags 和 filters 冲突的名字
webpage/ __init__.py models.py templatetags/ myfilter.py views.py
自定义过滤器
vim myfilter.py
from django import template register = template.Library() @register.filter def key(d,key_name): value=None try: value = d.get(key_name) except Exception as e: print(e) return value # @register.filter(name='cut') # def cut(value, arg): # return value.replace(arg, '') #register.filter('cut', cut)
加载过滤器
在使用的模板中加载
{% load myfilter %}
使用
在加载的模板中使用
<tbody> {%for dict_data in tableInfo.list%} <tr> {% for item in tableInfo.titles %} <td>{{dict_data|key:item.field}}</td> {%endfor%} </tr> {%endfor%} </tbody>
在过滤器 {{ dict_data|key:"bar" }}
中,变量 dict)data 和参数 bar
会传递给过滤器 key。
标签:cut,自定义,py,value,django,key,过滤器 From: https://www.cnblogs.com/boye169/p/17616795.html