1. app的目录下创建 templatetags
  2. 创建py文件 名字随便起,最后调用文件里的方法

image.png

自定义过滤器

  1. from django import template
  2. # register固定的名字
  3. register = template.Library() # 注册器
  4. @register.filter
  5. def aa(v1):
  6. s = v1 + '-' + 'str'
  7. return s
  8. @register.filter
  9. def bb(v1,v2):
  10. s = v1 + 'str' + v2
  11. return s

urls.py

  1. urlpatterns = [
  2. path('index/',views.func),
  3. ]

views.py

  1. def func(request):
  2. test = 'bbb'
  3. return render(request,'test03_func.html',{'test':test})

html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. {% load filter %} # 加载自定义的文件
  9. <p> 我是无参数: {{ test|aa }} </p> # 无参数
  10. <p> 我是有参数: {{ test|bb:'abc' }} </p> # 有参数
  11. </body>
  12. </html>

验证

bbb是view逻辑中test变量返回的值
image.png