django-自定义过滤器

Posted forjie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 .. %} 这也是和变量过滤器不同的地方,只要你创建函数有几个值,这里就可以传入几个值.

 

以上是关于django-自定义过滤器的主要内容,如果未能解决你的问题,请参考以下文章

Django—— 模板层:变量过滤器标签自定义标签和过滤器

将 django 用作独立模板引擎时如何使用自定义过滤器

如何将javascript变量传递给django自定义过滤器

Django 1.9:为 QuerySet 创建复杂的自定义过滤器方法

如何将javascript变量传递给django自定义过滤器

Django之Django模板自定义过滤器