一、使用步骤
1.创建文件
创建templatetags(必须是这个名字)文件夹
在你的应用
下创建templatetags文件夹
如果文件夹名字不是templatetags可能会出现以下错误
在templatetags文件夹下创建
my_tags.py
(文件名可自定义)
2.导入注册过滤器的Library 实例
编写
my_tags.py
代码如下
from django import template
# 下面代码会直接使用register
register = template.Library()
3.自定义过滤器(不传值)
第一种: 不指定过滤器名称的
编写my_tags.py
@register.filter
def my_tag(value):
"""
value: 是必须的参数 是模板过滤器中|前面的值
"""
return value + '过滤器'
编写模板文件
{# my_tags是过滤器的文件名 #}
{# 意思是导入my_tags模板过滤器 #}
{% load my_tags %}
<h2>{{ '你好'|my_tag }}</h2>
查看网页效果
第二种: 指定过滤器名称
编写my_tags.py
@register.filter(name='hello_tag')
def my_tag(value):
"""
value: 是必须的参数 是模板过滤器中|前面的值
"""
return value + '过滤器'
编写模板文件
{# my_tags是过滤器的文件名 #}
{# 意思是导入my_tags模板过滤器 #}
{% load my_tags %}
{# 这里添自定义的过滤器名称 #}
<h2>{{ '你好'|hello_tag }}</h2>
查看网页效果
4.自定义过滤器(传值)
编写my_tags.py
@register.filter
def my_tag(value, value2):
"""
value: 是必须的参数 是模板过滤器中|前面的值
value2: 是模板过滤器中 : 后面的值
"""
return value + value2
编写模板文件
{# my_tags是过滤器的文件名 #}
{# 意思是导入my_tags模板过滤器 #}
{% load my_tags %}
<h2>{{ '你好'|my_tag:'我是过滤器' }}</h2>
查看网页效果