Django 第五課 過濾器

2022-08-30 00:15:29 字數 1313 閱讀 9548

##為什麼需要過濾器

因為在dtl中,不支援函式的呼叫形式 『()』,因此不能給函式傳遞引數,這將有很大的侷限性。而過濾器其實就是乙個函式,可以對需要處理的引數進行處理,並且還可以額外置收乙個引數(也就是說,最多2個引數)

在模板中,有時候需要對一些資料進行處理以後才能使用。一般在python中我們是通過函式函式的形式完成的。而在模板中,則是通過過濾器來實現的。過濾器使用的是 | 來使用。比如使用 add 過濾器,那麼示例**如下:

}

那麼以下就講下在開發過程常用的過濾器。

## add

將傳過來的引數新增到原來的值上面。這個過濾器會嘗試將 『值』 和 』引數『 轉換成整形然後進行相加。如果轉換成整形過程中失敗了,那麼會將 』值『 和 』引數『 進行拼接。 如果是字串,那麼會拼接字串,如果是列表,那麼會拼接成乙個列表。示例**如下:

}

如果 』value『 是等於4,那麼結果就是6.。如果value是乙個字串,如』abc『,那麼結果就會是』abc2『

'add'過濾器的源**如下:

def

add(value,arg)

"add the arg to the value

"try

:return int(value) +int(arg)

except

(valueerror, typeerror)

try:

return value +arg

except

exception:

return

''

## cut

移除值中所有指定的字串。類似於python中的 』replace(args,「」)『。示例**如下:

}

以下示例將會移除value中所有的空格字元。cut過濾器的源**如下

def

cut(value, arg): "

remove all values of arg from the given string

"safe =isinstance(value, satedata)

value = value.replace(arg, '')

if safe and arg != ";"

return

mark_safe(value)

return value

## date

將乙個日期按照指示的格式,格式化字串。示例**如下:

#

資料context =#過濾

}

第五課 高階資料過濾

第五課 高階資料過濾 回顧與預習 第四課學習了如何用select語句的where子句過濾返回的資料 如何檢驗相等 不相等 大於 小於 值的範圍以及null值等 第五課學習如何組合where子句以建立功能更強 更高階的搜尋條件以及學習如何使用not和in操作符。5.1組合where子句 sql允許給出...

第五課 文法

1.名詞 場所 行 來 帰 使用移動動詞時,移動的方向用助詞 表示。京都 行 我要去京都。日本 來 我來到了日本。帰 我要回家。注 助詞 讀作 2.行 行 完全否定疑問詞所問的全部範疇時,用助詞 與否定形式一起使用。行 也不去。何 食 什麼也不吃。第6課 沒有任何人在。第10課 3.名詞 交通工具 ...

C語言第五課

主要內容 二維陣列 字串陣列 多維陣列 理解 一 二維陣列 有兩個下標的陣列稱為二維陣列 定義 型別修飾符 陣列名 常量表示式1 常量表示式2 第一維的長度 第二維的長度 示例 定義乙個2行3列的二維陣列 int array 2 3 這是乙個標準的二維陣列 二維陣列的元素也稱為雙下標變數 0 1 2...