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-自定义过滤器的主要内容,如果未能解决你的问题,请参考以下文章
如何将javascript变量传递给django自定义过滤器
Django 1.9:为 QuerySet 创建复杂的自定义过滤器方法