Django-9-模板语言(Template自定义过滤器)

自定义过滤器步骤:

首先在应用中创建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

猜你喜欢

转载自blog.csdn.net/qq_39620483/article/details/89152168