Django自定义过滤器定义与用法示例
框架(架构)  /  管理员 发布于 7年前   205
本文实例讲述了Django自定义过滤器定义与用法。分享给大家供大家参考,具体如下:
一、自定义过滤器的介绍
前面我们就介绍过过滤器其实就是一个函数,把要过来的字段传递到一个函数内,进行加工处理,返回一个新的值展现在页面中,在实际开发中系统自带的过滤器有时候不能满足我们的需求的时候就要自定义
二、Django中自定义过滤器有两种方式
1、在组件(App)中的templatetags
创建一个单独的py文件
2、单独创建一个组件(App)用来存放项目中所有的自定义过滤器
三、在项目中的组件中创建自定义过滤器
1、只能在安装的组件(App
)中
2、只能在组件(App)下的templatetags
包内创建
3、必须使用修饰器@register.filter
4、定义一个方法,传递值进去进行处理,返回新的值
5、创建自定义过滤器
①. 在templatetags包下创建一个poll.py的文件
from django import templateregister = template.Library()@register.filterdef 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 templatefrom django.template.defaultfilters import stringfilterregister = template.Library()@register.filterdef mycut(value,args): return value.replace(args,"")@register.filter@stringfilterdef mylower(value): return value.lower()
希望本文所述对大家Django框架的Python程序设计有所帮助。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号