怎么在Django中自定义一个过滤器?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
Django中自定义过滤器有两种方式
1、在组件(App)中的templatetags
创建一个单独的py文件
2、单独创建一个组件(App)用来存放项目中所有的自定义过滤器
三、在项目中的组件中创建自定义过滤器
1、只能在安装的组件(App
)中
2、只能在组件(App)下的templatetags
包内创建
3、必须使用修饰器@register.filter
4、定义一个方法,传递值进去进行处理,返回新的值
5、创建自定义过滤器
①. 在templatetags包下创建一个poll.py的文件
from django import template register = template.Library() @register.filter def mycut(value,args): return value.replace(args,"")
6、 使用自定义过滤器
①. 先引入文件{% load poll %}
②. 使用
{% load poll %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <p>{{ msg | mycut:' '}}</p> </body> </html>
四、可以自定义一个组件(App
)[由于不需要太多的文件,就手动创建一个]
1、手动创建一个包
2、在包中创建一个templatetags
的包
3、将创建的这个包在settings.py
中注入
4、在templatetags
中创建文件及函数
5、过滤器的使用(跟上面一样的)
五、补充说明
如果是对字符串操作的一般都会引入@stringfilter
修饰符
from django import template from django.template.defaultfilters import stringfilter register = template.Library() @register.filter def mycut(value,args): return value.replace(args,"") @register.filter @stringfilter def mylower(value): return value.lower()
关于怎么在Django中自定义一个过滤器问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。