django中如何自定义过滤器

django中为我们提供了很多默认过滤器,例如date等等,但是这些django框架为我们提供的过滤器往往功能不是非常强大。同时,django也为我们提供了自定义过滤器。
那么应当如何去自定义过滤器呢?
首先,我们现在django中新建一个Python包命名为:templatetags,这里注意必须名为templatetags,然后在templatetags包中新建一个python文件用于建立我们的自定义过滤器,

2020-01-31_231838.png

如图所示:我们在django_01app中新建了一个templatetagspython包,在这个包中新建了一个python文件,名为my_fliter的文件,在文件中定义了一个函数名为prin
具体代码如下:

from django import template
register=template.Library()
def prin(value):
    if value<=60:
         "不及格"
    elif value<=90:
        return "良好"
    else:
        return "优秀"
register.filter("prin",prin)

我们这个自定义过滤器的功能是很简单的,就是依据参数判断分数的等级

    context={
        'value':98,
    }
    return render(request,'default.html',context=context)

我们在后台中传入了value值为98
在前端的HTML文件中

{% load my_fliter %}{# 使用load标签加载自定义过滤器 #}



    
    default过滤器


{{ value|prin}}{# value代表的是后台传入的参数值,prin是自定义过滤器名称 #}


运行看看自定义过滤器成功了没有


2020-01-31_232630.png

这样就说明我们的自定义过滤器完成了

你可能感兴趣的:(django中如何自定义过滤器)