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 相关文章推荐
win7 下搭建sublime的python开发环境的配置方法
Jun 18 Python
python通过smpt发送邮件的方法
Apr 30 Python
详解python异步编程之asyncio(百万并发)
Jul 07 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
Python数据可视化教程之Matplotlib实现各种图表实例
Jan 13 Python
python的schedule定时任务模块二次封装方法
Feb 19 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
复化梯形求积分实例——用Python进行数值计算
Nov 20 Python
pycharm设置python文件模板信息过程图解
Mar 10 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
Apr 24 Python
python中的getter与setter你了解吗
Mar 24 Python
Python实现仓库管理系统
May 30 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 Stream_*系列函数
2010/08/01 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
php统计数组元素个数的方法
2015/07/02 PHP
查看大图功能代码jquery版
2013/11/05 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
浅谈javascript中createElement事件
2014/12/05 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
linux服务器快速卸载安装node环境(简单上手)
2021/02/22 Javascript
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
Swift中的协议(protocol)学习教程
2016/07/08 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
python模块如何查看
2020/06/16 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
购买大码女装:Lane Bryant
2016/09/07 全球购物
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
工商管理专业学生的自我评价
2013/10/01 职场文书
高三英语教学计划
2015/01/23 职场文书
我的长征观后感
2015/06/09 职场文书
使用CSS设置滚动条样式
2022/01/18 HTML / CSS
使用python创建股票的时间序列可视化分析
2022/03/03 Python