Django自定义过滤器定义与用法示例
作者:水痕01 发布时间:2022-07-24 13:09:00
标签:Django,自定义过滤器
本文实例讲述了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程序设计有所帮助。
来源:http://blog.csdn.net/kuangshp128/article/details/75727926
0
投稿
猜你喜欢
- vue3 ref构建响应式变量失效问题描述在Vue3中使用ref声明响应式变量,同时用函数对值进行变化,但是无法响应式改变值<temp
- 1.MySQL的安装(1)双击我们去官网下载好的MySQL(2) 一直点下一步,直到遇到以下界面(3)选择Typical,会进行跳转,点击I
- 在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作。在Python中自带json库。通过import js
- 前言本专栏将非常细致的讲解相关与计算机视觉OpenCV的相关知识即操作,非常的简单易懂。本文主要讲解相关与计算机视觉的相关入门内容,关于图像
- profile是什么当我们要对某一条sql的性能进行分析时,可以使用它。Profiling是从 mysql5.0.3版本以后才开放的。启动p
- 加入CDC的这段日子里,工作中积累的小心得都密密麻麻的收在册子里。恰逢近期的校园招聘正如火如荼的展开着,借此机会,我把这一些不太成熟的小想法
- 数据准备假设我们目前有两个数据表: ① 一个数据表是关于三个人他们的id以及其他的几列属性信息import pandas as pdimpo
- 我们在用python进行程序开发的时候,很多时候我们需要检测一下当前的变量的数据类型。比如需要在使用字符串操作函数之前先检测一下当前变量是否
- 我们调试Javascript一般会用到Chrome或Firefox自带的调试工具,本文列出了几条用于调试Javascript的技巧,掌握它们
- 导语:哈喽,哈喽~大家有没有遇到过这种情况,手机用着用着没有内存了,一到设置里面一看。微信和 QQ 10G!啊这。。。。。就离谱!好说,好说
- 【译者的话】 作为一家非盈利性的防止青少年 * 的机构, Five Alive 希望拥有一个独特的标志来配合机构的宣传。他们决定在网站上通过竞
- 分享一下 在3est活动中学习的godlong的 代码如下:<% Set xPost = createObject("Mi
- Python CET自动查询方法需要用到的python方法模块有:sys、urllib2本文实例讲述了Python实现CET查分的方法。分享
- 有三种主要的错误类型: 1.编译错误: 这种错误出现一般都是代码的语法问题。因为编译错误而导致辞ASP停止运行。 2.运行错误: 这个错误是
- CGAN的全拼是Conditional Generative Adversarial Networks,条件生成对抗网络,在初始GAN的基础
- 在IDLE下清屏:#网上有些先定义函数,再?print("\n" * 100)输出一百个换行的方法有点扯淡,跟连按回车没
- 作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio C
- JavaScript获取最近7天日期可以使用 JavaScript 中的 Date() 对象和数组方法来获取最近7天的日期。以下是一种获取最
- AJAX 客户端页面代码: index.html <html> <body> <h1>Ajax file
- 在python命令行模式下,在IDLE中输入多行,例如if else使用tab的方式,控制缩进在最后,连续两个回车,表示结束&g