在這個templatetags
包下面,建立乙個python檔案用來儲存過濾器。
在新建的python檔案中,定義過濾器(也就是函式),這個函式的第乙個引數永遠是被過濾的那個值,並且如果在使用過濾器的時候傳遞引數,那麼還可以定義另外乙個引數。但是過濾器最多只能有2個引數。
在寫完過濾器(函式)後,要使用django.template.library.filter
進行註冊。
在模板中使用load
標籤載入過濾器所在的python包。
可以使用過濾器了。
django.template.library.filter
還可以當作裝飾器來使用。如果filter
函式沒有傳遞任何引數,那麼將會使用這個函式的名字來作為過濾器的名字。當然如果你不想使用函式的名字來作為過濾器的名字,也可以傳遞乙個name
引數。示例**如下:
from django import template
from datetime import datetime
register = template.library(
)# 過濾器最多只能有兩個引數
# 過濾器的第乙個引數永遠都是被過濾的那個引數(也就是豎線左邊的那個引數)
@register.
filter
('my_greet'
)def
greet
(value,word)
:return value + word
#另一種註冊方法
register.
filter
("greet"
,greet)
Django自定義過濾器
django中提供了很多的過濾器和標籤,具體可見django官網,例如 upper 化為大寫字母 lower 化為小寫字母 autoescape 自動轉義 block 模板繼承 csrf token 防止跨站偽造請求 extends 模板繼承 filter 過濾器 等 內建的過濾器雖然好用,但是我們...
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 把傳遞過來的引...