Python:django模版语言之自定义过滤器

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}}


{% load mytag %}
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
head>
<body>
{# 过滤器 #}
{
    {5|sub1}}
body>
html>

访问web页面,显示结果为4
Python:django模版语言之自定义过滤器_第1张图片


接下来定义一个稍复杂的情况
定义一个距离当前时间多久之前的过滤器
Python:django模版语言之自定义过滤器_第2张图片

你可能感兴趣的:(python,django)