Django自定義過濾器定義與用法示例
本文實(shí)例講述了Django自定義過濾器定義與用法。分享給大家供大家參考,具體如下:
一、自定義過濾器的介紹
前面我們就介紹過過濾器其實(shí)就是一個(gè)函數(shù),把要過來的字段傳遞到一個(gè)函數(shù)內(nèi),進(jìn)行加工處理,返回一個(gè)新的值展現(xiàn)在頁面中,在實(shí)際開發(fā)中系統(tǒng)自帶的過濾器有時(shí)候不能滿足我們的需求的時(shí)候就要自定義
二、Django中自定義過濾器有兩種方式
1、在組件(App)中的templatetags創(chuàng)建一個(gè)單獨(dú)的py文件
2、單獨(dú)創(chuàng)建一個(gè)組件(App)用來存放項(xiàng)目中所有的自定義過濾器
三、在項(xiàng)目中的組件中創(chuàng)建自定義過濾器
1、只能在安裝的組件(App)中
2、只能在組件(App)下的templatetags包內(nèi)創(chuàng)建
3、必須使用修飾器@register.filter4、定義一個(gè)方法,傳遞值進(jìn)去進(jìn)行處理,返回新的值
5、創(chuàng)建自定義過濾器
①. 在templatetags包下創(chuàng)建一個(gè)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>
四、可以自定義一個(gè)組件(App)[由于不需要太多的文件,就手動(dòng)創(chuàng)建一個(gè)]
1、手動(dòng)創(chuàng)建一個(gè)包
2、在包中創(chuàng)建一個(gè)templatetags的包
3、將創(chuàng)建的這個(gè)包在settings.py中注入
4、在templatetags中創(chuàng)建文件及函數(shù)
5、過濾器的使用(跟上面一樣的)
五、補(bǔ)充說明
如果是對(duì)字符串操作的一般都會(huì)引入@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()
希望本文所述對(duì)大家Django框架的Python程序設(shè)計(jì)有所幫助。
- 在Django框架中自定義模板過濾器的方法
- Django框架模板語言實(shí)例小結(jié)【變量,標(biāo)簽,過濾器,繼承,html轉(zhuǎn)義】
- Django自定義模板過濾器和標(biāo)簽的實(shí)現(xiàn)方法
- 詳解Django中的過濾器
- 深入理解Django的自定義過濾器
- 詳解django中自定義標(biāo)簽和過濾器
- django 創(chuàng)建過濾器的實(shí)例詳解
- Django 過濾器匯總及自定義過濾器使用詳解
- django 自定義過濾器的實(shí)現(xiàn)
- django 自定義過濾器(filter)處理較為復(fù)雜的變量方法
- Falsk 與 Django 過濾器的使用與區(qū)別詳解
- Python Django模板之模板過濾器與自定義模板過濾器示例
相關(guān)文章
Python不同目錄間進(jìn)行模塊調(diào)用的實(shí)現(xiàn)方法
這篇文章主要介紹了Python不同目錄間進(jìn)行模塊調(diào)用的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
python計(jì)算機(jī)視覺opencv圖像金字塔輪廓及模板匹配
這篇文章主要為大家介紹了python計(jì)算機(jī)視覺opencv圖像金字塔圖像輪廓及模板匹配的學(xué)習(xí)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
matplotlib 多個(gè)圖像共用一個(gè)colorbar的實(shí)現(xiàn)示例
這篇文章主要介紹了matplotlib 多個(gè)圖像共用一個(gè)colorbar的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
解決Tensorflow使用pip安裝后沒有model目錄的問題
今天小編就為大家分享一篇解決Tensorflow使用pip安裝后沒有model目錄的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Pycharm 2020.1 版配置優(yōu)化的詳細(xì)教程
這篇文章主要介紹了更新Pycharm 2020.1 版配置優(yōu)化的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
Python利用py-redis實(shí)現(xiàn)分布式鎖
隨著業(yè)務(wù)的增長(zhǎng),后端技術(shù)架構(gòu)會(huì)慢慢的從單體服務(wù)轉(zhuǎn)向多服務(wù)或者微服務(wù)的分布式架構(gòu),本文主要為大家介紹了如何利用Py-Redis實(shí)現(xiàn)簡(jiǎn)單的分布式鎖,需要的可以參考一下2023-08-08
解決python 輸出到csv 出現(xiàn)多空行的情況
這篇文章主要介紹了解決python 輸出到csv 出現(xiàn)多空行的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03

