django常用模板語言

2022-08-11 03:54:15 字數 2913 閱讀 5621

filters來改變變數最終顯示的值。

過濾器就像這樣}。這是將name變數通過lower過濾器全部轉換為小寫字母。|用來呼叫過濾器。

過濾器可以是鏈式的,乙個過濾器的輸出會被用在下乙個。} 是一種通用的形式用來將文字內容轉義,然後再轉為標籤以適用html。

有些過濾器帶引數。例如以下帶參過濾器:}意思是只展示bio變數的前30個字元。

如果過濾器引數含有空格那麼引數必須被引號引起來;比如想要用逗號和空格將list中的元素拼接起來,可以這樣}。

default

如果乙個變數是false或者是空的,那麼它的值就是你給的預設值,否則就是變數本身的值。

}

如果變數value沒有提供,或者是空的話,上面就會顯示nothing

length

返回變數的長度。這對於字串和列表都起作用。比如:

}

如果 value是乙個列表['a','b','c','d'],那麼輸出就是4。

filesizeformat

}

如果value是123456789的話,那麼輸出將會是117.7mb。

標籤的形式是 。標籤比變數要更複雜:有些標籤在輸出中建立文字,有些通過展示迴圈和邏輯來控制流,有些引入額外的資訊到模板中以供後續變數使用

for迴圈遍歷陣列或列表,比如展示名為class_list的班級列表:

<

ul>

<

li>}

li>

ul>

grade : '優秀'

要以來結束

在django模板引擎中最給力也是最複雜的部分就是模板繼承。模板繼承可以使你建立乙個包含**所有公共元素的基本骨架,在裡面可以定義一些區塊,模板的子模板可以重寫這些區塊。

下面的例子可以讓你更好的理解模板繼承:

doctype html

>

<

html

lang

="en"

>

<

head

>

<

link

rel="stylesheet"

href

="style.css"

/>

<

title

>my amazing site

title

>

head

>

<

body

>

<

div

id="sidebar"

>

<

ul>

<

li><

a href

="/"

>home

a>

li>

<

li><

a href

="/blog/"

>blog

a>

li>

ul>

div>

<

div

id="content"

>

div>

body

>

html

>

這個模板我們將它取名為base.html,定義了乙個簡單的html骨架文件,在乙個簡單的兩列布局的頁面你也許會用到它。子模板要做的就是將內容填充到空的區塊中。

在這個例子中,標籤block定義了三個可以讓子模板重寫的區塊。每個block標籤都會告訴模板引擎,子模板可能會重寫該區塊。

下面我們定義了乙個子模板:

my amazing blog

<

h2>}

h2>

<

p>}

p>

其中關鍵的地方是extends標籤,這可以告訴模板引擎該模板是繼承於其他模板。這樣當模板系統執行該模板時,就可以先定位他的父模板,上面模板的父模板就是「base.html」。

在該例中,模板引擎會注意到在base.html中有三個block標籤,然後會將子模板的內容填充到父模板相應的區塊中。最後的結果如下(區塊裡具體的內容是由blog_entries 變數決定的):

<

title

>my amazing blog

title

>

head

>

<

body

>

<

div

id="sidebar"

>

<

ul>

<

li><

a href

="/"

>home

a>

li>

<

li><

a href

="/blog/"

>blog

a>

li>

ul>

div>

<

div

id="content"

>

<

h2>entry one

h2>

<

p>this is my first entry.

p>

<

h2>entry two

h2>

<

p>this is my second entry.

p>

div>

body

>

html

>

你可以根據需要採用多層繼承,一般來講我們採用的是三層繼承:

使用繼承要注意的地方

部分內容摘自

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 ...