《轉》 django模板語言filter方法

2022-05-10 10:32:30 字數 2119 閱讀 2087

django的模板是乙個簡單的文字檔案,它可以生成任何文字格式(html、xml、csv等),在本文開始之前先看乙個django模板的例子:

從這個例子中可以看到,模板標籤可以是單獨出現的,如extends標籤;也可以是成對出現的,如block標籤和for標籤。而模板的主體就是乙個html結構的文字檔案,看到這裡我想如果有過asp, php開發經驗的人都會感到很親切,因為它們的語法非常相似,都是嵌入到html中的標記語言。

變數variables

變數的基本用法:},當模板引擎遇到變數時會將變數替換為具體值。變數名可以包含字母數字和下劃線,不能包含空格及其它特殊符號。句點(.)在變數中有特殊意義,如果模板引擎遇到了句點將會按照下面的順序對其進行解釋:

字典查詢

查詢屬性和方法

查詢下標元素

注意如果句點後面的變數是乙個可以呼叫的方法的話,那麼這個方法會按照空引數的方式呼叫,例如乙個字典的iteritems方法可以在模板中用以下方式呼叫:

過濾器filters

你可以使用過濾器來修改變數值的顯示樣式。過濾器的使用方式 }。過濾器可以連續使用,形式如: }。

注意變數、管道符(|)和過濾器方法之間不能有空格。

某些過濾器還可以接收引數,例如:},這句**的意思是顯示bio的前30個單詞。

如果過濾器引數包含空格的話,引數就要用引號擴起來,例如:}。

django大約提供了60個過濾器,具體介紹可以在django官網看到:

下面介紹幾種常用的過濾器:

default

如果變數是false或者空,顯示default值:例如: },如果value是false會在頁面上顯示nothing。

length

顯示乙個字串或者陣列的長度,如:}

filesizeformat

將檔案大小按照人類可讀的形式顯示,例如乙個檔案由123456789,那麼顯示成117.7 mb,語法形式:}

add加法運算:}

這個方法會先按照數值來計算,如果失敗了就直接將兩個值拼接在一起,如連線兩個陣列。

capfirst

首字母大寫:}

cut刪除指定值,例如去掉字串中的空格:}

如果value是"string with spaces",那麼輸出"stringwithspaces".

date

格式化日期,該方法引數較多也很重要,請參考django官網。

dictsort

將乙個字典按照某一字典項進行排序後返回,

例如,有乙個字典users如下,包含三個人員資訊:

按照人名進行排序:

顯示樣式:

將乙個html字串轉意:

瀏覽器顯示:

join

拼接多個元素

標籤tags

for標籤

迴圈執行標籤內部**,例如:

if,elif和else標籤

和其它程式語言的if語句一樣,當條件為真或不為空時,執行**塊,例如:

if標籤中可以巢狀其它標籤。

注釋comments

兩種注釋方式:

注釋標籤:

Django模板語言

1.1 模板由兩部分組成 html 邏輯控制 1.2 作用 快速生成html頁面 1.3 優點 模板的設計實現了業務邏輯與現實內容的分離 檢視可以使用任何模板 1.4 模板處理 載入 渲染 2.1 只需要記兩種特殊符號 和 變數相關的用 邏輯相關的用。2.2 邏輯相關 2.2.1.if判斷 2.2....

Django 模板語言

1.深度變數查詢 點號 2.變數的過濾器filter 語法格式 冒號前後不能有空格 filter函式 add 給obj增加數值 capfirst 首字母大寫 cut 移除字串中的指定字元 date 格式化日期字串 default 如果值是false,就提換成設定的預設值,否則就用原本的值,將傳過來的...

django 模板語言

模版模板語言運算 django模版加法 value 5,則返回15 django模版減法 django模版減法 value 5,則返回 5,這個比較好理解,減法就是加乙個負數 django模版除法 上面的 表示 5 1 100,返回500,widthratio需要三個引數,它會使用 引數1 引數2 ...