django中为我们提供了很多默认过滤器,例如date
等等,但是这些django框架为我们提供的过滤器往往功能不是非常强大。同时,django也为我们提供了自定义过滤器。
那么应当如何去自定义过滤器呢?
首先,我们现在django中新建一个Python包命名为:templatetags
,这里注意必须名为templatetags
,然后在templatetags
包中新建一个python文件用于建立我们的自定义过滤器,
如图所示:我们在django_01app中新建了一个
templatetags
python包,在这个包中新建了一个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标签加载自定义过滤器 #}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>default过滤器</title>
</head>
<body>
{{ value|prin}}{# value代表的是后台传入的参数值,prin是自定义过滤器名称 #}
</body>
</html>
运行看看自定义过滤器成功了没有
这样就说明我们的自定义过滤器完成了