django过滤器
上一篇我们介绍了django的过滤器,但内置过滤器功能有限,不能满足需求,此时可以自己定义过滤器。
接下来我们来定义一个简单的过滤器练练手,需求是给定一个值value,使web页面value-1显示
在app里创建一个包:templatetags,包名是指定的
在包里创建一个py文件,名称为mytag.py
# 建立模版对象
from django import template
register = template.Library()
@register.filter(name = 'sub1')
def sub(value):# 参数最多两个
return value - 1
html中引入标签{% load mytag %}
传一个值为5,使用过滤器{{5|sub1}}
<!DOCTYPE html>
{% load mytag %}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{# 过滤器 #}
{{5|sub1}}
</body>
</html>
访问web页面,显示结果为4
接下来定义一个稍复杂的情况
定义一个距离当前时间多久之前的过滤器