Django自定義過濾器定義與用法示例

本文實例講述了Django自定義過濾器定義與用法。分享給你們供你們參考,具體以下:html

1、自定義過濾器的介紹django

      過濾器其實就是一個函數,把要過來的字段傳遞到一個函數內,進行加工處理,返回一個新的值展示在頁面中,在實際開發中系統自帶的過濾器有時候不能知足咱們的需求的時候就要自定義框架

2、Django中自定義過濾器有兩種方式函數

一、在組件(App)中的templatetags建立一個單獨的py文件
二、單首創建一個組件(App)用來存放項目中全部的自定義過濾器設計

3、在項目中的組件中建立自定義過濾器code

一、只能在安裝的組件(App)中
二、只能在組件(App)下的templatetags包內建立
三、必須使用修飾器@register.filter
四、定義一個方法,傳遞值進去進行處理,返回新的值
五、建立自定義過濾器htm

①. 在templatetags包下建立一個poll.py的文件開發

from django import template
register = template.Library()
@register.filter
def mycut(value,args):
  return value.replace(args,"")

六、 使用自定義過濾器字符串

①. 先引入文件{% load poll %}string

②. 使用

{% load poll %}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <p>{{ msg | mycut:' '}}</p>
</body>
</html>

4、能夠自定義一個組件(App)[因爲不須要太多的文件,就手動建立一個]

一、手動建立一個包
二、在包中建立一個templatetags的包
三、將建立的這個包在settings.py中注入
四、在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程序設計有所幫助。

相關文章
相關標籤/搜索