Django自定义过滤器定义与用法示例


Posted in Python onMarch 22, 2018

本文实例讲述了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框架的Python程序设计有所帮助。

Python 相关文章推荐
pyqt和pyside开发图形化界面
Jan 22 Python
Python下rrdtool模块的基本使用方法
Nov 13 Python
python里使用正则表达式的组嵌套实例详解
Oct 24 Python
tensorflow获取变量维度信息
Mar 10 Python
python 定时任务去检测服务器端口是否通的实例
Jan 26 Python
python实现弹窗祝福效果
Apr 07 Python
python 模拟银行转账功能过程详解
Aug 06 Python
在pytorch中为Module和Tensor指定GPU的例子
Aug 19 Python
python2.7的flask框架之引用js&amp;css等静态文件的实现方法
Aug 22 Python
8段用于数据清洗Python代码(小结)
Oct 31 Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 Python
Python调用腾讯API实现人脸身份证比对功能
Apr 04 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
Mar 22 #Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
Mar 22 #Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
Mar 22 #Python
python实现将excel文件转化成CSV格式
Mar 22 #Python
python 对象和json互相转换方法
Mar 22 #Python
利用python将json数据转换为csv格式的方法
Mar 22 #Python
解决python3中解压zip文件是文件名乱码的问题
Mar 22 #Python
You might like
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
[03:08]Ti4观战指南上
2014/07/07 DOTA
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
python进阶教程之文本文件的读取和写入
2014/08/29 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
如何开启linux的ssh服务
2015/02/14 面试题
酒吧副总经理岗位职责
2013/12/10 职场文书
单位单身证明范本
2014/01/11 职场文书
教育学习自我评价
2014/02/03 职场文书
幼儿园门卫岗位职责
2014/02/14 职场文书
小学生评语集锦
2014/04/18 职场文书
大学学风建设方案
2014/05/04 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
合理化建议书
2015/02/04 职场文书
党员自我评价范文2015
2015/03/03 职场文书
离职信范本
2015/06/23 职场文书
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL
进行数据处理的6个 Python 代码块分享
2022/04/06 Python