- app的目录下创建 templatetags
- 创建py文件 名字随便起,最后调用文件里的方法
自定义过滤器
from django import template
# register固定的名字
register = template.Library() # 注册器
@register.filter
def aa(v1):
s = v1 + '-' + 'str'
return s
@register.filter
def bb(v1,v2):
s = v1 + 'str' + v2
return s
urls.py
urlpatterns = [
path('index/',views.func),
]
views.py
def func(request):
test = 'bbb'
return render(request,'test03_func.html',{'test':test})
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% load filter %} # 加载自定义的文件
<p> 我是无参数: {{ test|aa }} </p> # 无参数
<p> 我是有参数: {{ test|bb:'abc' }} </p> # 有参数
</body>
</html>
验证
bbb是view逻辑中test变量返回的值