Django自定義過濾器

2021-08-28 01:18:54 字數 1186 閱讀 1477

django中提供了很多的過濾器和標籤,具體可見django官網,

例如:upper**化為大寫字母)

lower**化為小寫字母)

autoescape(自動轉義)

block(模板繼承)

csrf_token(防止跨站偽造請求)

extends(模板繼承)

filter(過濾器)   等……

內建的過濾器雖然好用,但是我們的需求更加多樣,在內建過濾器不能滿足我們的需求的時候

我們可以自己來寫乙個過濾器

配置views.py urls.py  ,然後啟動伺服器,保證專案的正常建立與執行,這裡不多贅述

再建立乙個myfilter.py 宣告我們的自定義過濾器,**如下

from django.template import library

register=library()

@register.filter

def add(value):

return value+'that is nothing'

@register.filter #註冊過濾器

def change_length(value):

if len(value)>5:

return value[0:5]+'...'

return value

@register.******_tag #註冊標籤

def mytag(value1,value2):

if value1=='a':

if value2=='b':

return ''

import datetime

@register.******_tag

def get_current_time():

time=datetime.datetime.now()

time=time.strftime('%y-%m-%d %h:%m:%s')

return ''.format(time)

過濾器的使用

輸入介面

Django自定義過濾器

為什麼要自定義過濾器?django中雖然已經內建了很多過濾器,但是並不能滿足我們的日常開發,所以我們需要自定義過濾器。在一切配置好了之後,然後在article中新建乙個名為templatetags的package。注意 必須是乙個包,並且包的名字也必須為templatetags package和資料...

django 自定義過濾器

然後在extratags.py檔案中新增自定義的過濾器 from django import template register template.library register.filter name cut 過濾器在模板中使用時的name def mycut value,arg 把傳遞過來的引...

django自定義過濾器函式

自定義過濾器就是乙個帶 2個引數的 python 函式。call remove var,bar defremove var,arg 移除字串中 var的 arg字串 returnvar.replace arg,過濾器函式應該總是返回一些資訊,即使出錯,也不應該丟擲異常,可以返回預設值或者空字串。不帶...