自定义过滤器步骤:
首先在应用中创建templatetags包
在templatetags包下创建.py文件,如:my_tags.py
在my_tags.py文件中编写自定义的过滤器
from django import template # 导入模块
register = template.Library() # 实例化以及下面的定义函数(固定写法,不可变)
# filter与simple_tag区别在于前者只能有一个参数,后者可以有多个
@register.filter
def filter_sum(a,b):
return a+b
@register.simple_tag
def filter_sum_1(*args):
return sum(args)
django_study.app01.views.py:新建一个template_study_oner视图函数
def template_study_oner(request):
num1 = 10
num2 = 20
return render(request, "template_study_oner.html", locals())
django_study.django_study.urls:绑定url与视图函数
url(r'^template_study_oner/$',template_study_oner)
在django_study.templates目录下新建template_study_oner.html
{% load my_tags %} <!--导入过滤器-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自定义过滤器</title>
</head>
<body>
<p>自定义过滤器(一个参数)num1+num2:{{ num1|filter_sum:num2 }}</p>
<p>自定义过滤器(多个参数)num1+num2+20+30:{% filter_sum_1 num1 num2 20 30 %}</p>
</body>
</html>
启动状态访问:127.0.0.1:8000/template_study_oner