Django模板語法之過濾器Filters

2021-10-18 08:18:45 字數 1554 閱讀 7928

在django的模板語言中,都是通過使用"過濾器"來改變變數的顯示

過濾器基本語法:}

ps:過濾器只能傳入兩個引數: value 引數,引數非必填,value必填

過濾器支援「鏈式」操作。即乙個過濾器的輸出作為另乙個過濾器的輸入

django內建有60多個過濾器,下面簡單描述下常用的過濾器使用

統計過濾器長度:}

eg:倘如s=[1,2,3,6],那麼返回的結果則為4

設定預設值:}

eg:第乙個引數(s)是true的話就展示第乙個引數實際值,否則就展示冒號後面的預設值

獲取檔案大小:}

eg:倘若file_size為10m,那麼就返回10m

日期格式化:}

返回指定格式日期 ,eg:**2021-01-30 10:19:50**

切片操作(支援步長):}

0是開始位置(下標) 4是結束位置 2是步長

切取字元(包含三個點):}

獲取字串s前6(9減去3個點等於6)個引數,

eg:s = hellofer

返回:hellof...

切取單詞(不包含三個點,根據空格切):}

獲取word語句中前兩個單詞

eg:word = "hello1 hello2 hello3 hello4 hello5"

返回:hello1 hello2 ...

移除特定字元:} hello為特定字元

相當於將msg裡面的特定字元全部刪除

eg:msg = "hello1 hello2 hello3 hello4 hello5"

返回:1 2 3 4 5

拼接操作:} li必須是個可迭代物件

迴圈li,將所有引數用~拼接起來

eg:li = [11,22,33,44]

返回:11~22~33~44

拼接操作(加法):}

將data與10想加,data與10必須同乙個型別才行,例如必須都是整形或者字串

eg:} data=100

返回:110

} data="hello"

返回:hellofer

轉義:}

識別data裡面的表示式,例如html標籤

eg:ht = ">

hello ferh1

>

" 正常填寫} 返回的是>

hello ferh1

>

不會識別到h1標籤

新增safe過濾器之後 }

返回 hello fer (識別了h1標籤,返回了最大號字型)

轉義除了前端模板語法可以操作,後端django內部也可以進行操作

from django.utils.safestring import mark_safe

"""有些前端不好操作的資料,這裡就可以通過mark_safe在後端進行操作返回了

"""mark_safe(

"")

JavaWeb之過濾器

對使用者請求進行統一認證 編碼轉換 對使用者傳送的資料進行過濾替換 轉換影象格式 對響應的內容進行壓縮 過濾器是乙個伺服器端的元件,它可以擷取使用者端的請求與響應資訊,並對這些資訊進行過濾。4.1 servlet 2.5request 使用者直接訪問頁面時,web容器將會呼叫過濾器 forward ...

HBase之過濾器

過濾器的型別很多,但是可以分為兩大類 比較過濾器,專用過濾器 過濾器的作用是在服務端判斷資料是否滿足條件,然後只將滿足條件的資料返回給客戶端 hbase 的基本 api,包括增 刪 改 查等。增 刪都是相對簡單的操作,與傳統的 rdbms 相比,這裡的查詢操作略顯蒼白,只能根據特性的行鍵進行查詢 g...

Django 模板語法之常用過濾器

過濾器就類似於模板語法內建的內建方法 基本語法 將資料交給過濾器去做處理,資料相當於過濾器的第乙個引數,冒號後編寫的相當於第二個引數。1.統計長度 統計長度 2.預設值 x有值 true 就用前面x,x沒有值就用 後面的 預設值 3.檔案大小 轉換為有檔案大小單位 kb mb gb 的資料 4.日期...