django-自定义过滤器

整个流程是需要被的

1,首先要在setting里面找到INSTALLED_APPS这个配置文件

@register.filter 这个装饰器的名字不能变,每个都有不同意义----装饰变量的
@register.simple_tag装饰器名字也不能变-----装饰html标签的

1,自定义过滤器---变量
自定义过滤器---变量
1,apps里面是一些应用的配置信息,而我们需要在apps下面加上我们的app01应用 的信息. 2,在app中创建templatetags模块(模块名只能是templatetags) 3,在里面创建一个py文件,并且在里面加上一些初始信息 from django import template from django.utils.safestring import mark_safe register = template.Library() #register的名字是固定的,不可改变 这些在里面是固定的,也是写在py文件顶部的代码. 4,在下面写自己想要实现方法的函数 5,函数写完以后,加上装饰器, @register.filter

6,最后在你想用该自定义过滤器的地方,导入该py文件.
{% load mytag%}

注意:变量的参数只能是一个 {{ name|mut:2 }} 在mut后面只能带一个参数,这也是和标签过滤器不同的地方


PS:过滤器可以用于逻辑处理,也就是可以用if判断.

2,自定义过滤器---标签

自定义过滤器---标签
1,apps里面是一些应用的配置信息,而我们需要在apps下面加上我们的app01应用
的信息.
2,在app中创建templatetags模块(模块名只能是templatetags)

3,在里面创建一个py文件,并且在里面加上一些初始信息

from django import template
from django.utils.safestring import mark_safe
 
register = template.Library()   #register的名字是固定的,不可改变

这些在里面是固定的,也是写在py文件顶部的代码.

4,在下面写自己想要实现方法的函数

5,函数写完以后,加上装饰器,
@register.simple_tag 

6,最后在你想用该自定义过滤器的地方,导入该py文件.
{% load mytag%}

注意:标签的参数可以是多个  {% mut x y z .. %} 这也是和变量过滤器不同的地方,只要你创建函数有几个值,这里就可以传入几个值.
原文地址:https://www.cnblogs.com/52forjie/p/7747302.html