Django 模板系統(template)總結

2021-09-19 17:15:28 字數 2917 閱讀 7231

1.模板系統: 指html頁面。

2.常用符號

(1)}:在模板中解析變數

(2) 在模板中進行邏輯相關操作

注釋 ,單行注釋。

(3).變數

在django的模板系統中變數使用的語法:}。

當模版引擎遇到變數,就會用值替換掉變數。

變數的命名可以是**字母數字以及下劃線 ("_")**的組合。

變數名稱中不能有空格或標點符號。

3.檢視函式替換頁面中的資料

(1)使用render中的第三個引數,資料型別是字典。key和變數名相同,值就是要顯示到頁面中的內容。

(2)locals() 內建函式: 獲取全部的區域性變數及其對應的值,然後封裝成乙個字典。因此可以在render的第三個引數直接使用locals()。

4.點(『.』)的特殊含義

(1)如果傳遞的是乙個字典型別的資料,使用變數名.key的形式獲取對應的值。

(2)如果傳遞的是乙個物件型別的資料,使用變數名.屬性名(無引數並且有返回值的方法)。

(3)如果傳遞的是乙個列表型別的資料,使用 **變數名.索引(從0開始)**的形式獲取列表中的元素。

查詢順序:(1)(2)(3)

如果使用的變數不存在, 它被預設設定為(空字串) 。

5.過濾器(filter)

注:過濾器是函式

(1)作用: 可以改變內容的顯示、或者檢視一些資訊。

(2)使用格式}, 注意管道符「|」左右是沒有空格的。

(3)常用的過濾器

①lower:將文字全都變成小寫

例如}②length:返回值的長度,作用於字串和列表;

例如:}返回value的長度,如 value=[『a』, 『b』, 『c』, 『d』]的話,就顯示4.

③slice:切片

格式:}

④safe:不轉義

過濾器「|safe」 告訴django這段**是安全的不必轉義。

格式:}

⑤cut:移除相同的字串

格式:},

如果value為』i love you』,那麼將輸出』iloveyou』.

⑥join:使用拼接符連線列表

格式: } hello–>h e l l o

⑦default:如果乙個變數是false或者為空,使用給定的預設值。 否則,使用變數的值。例如:}

**⑧date:**日期格式化過濾器

格式:}

6.標籤(tags)

(1)格式

(2)for標籤:和 python中的for迴圈,執行原理相同。

①格式:

②forloop.counter表示 索引從 1開始。

③forloop.counter0表示 索引從 0 開始。

(3)for empty 標籤:

如果變數名不存在或者內容為空的時候顯示中的內容

①格式:……

②執行流程:

如果變數不存在或者為空 則執行 empty中的內容。否則執行for迴圈體中的內容。

(4)if標籤和python中的if 判斷執行流程相同。

注: if 語句支援 and、or、==、<、>、!=、<=,>=,in、not in、is、is not判斷。

①格式:

(5)if… else 標籤

(1)格式:

。。。。。。

(6)if …elif … elif … else

。。。。。。

(7)load 和static 標籤

(1)load 標籤用來載入 static標籤。

(2)static 用來載入靜態檔案(、css、js)

(3)一般情況下將靜態檔案存放到static目錄下(需要手動建立static目錄)

(4)在settings.py中讓django 載入搜尋路徑

staticfiles_dirs=[os.path.join(base_dir,』static』)]

(5)省略 需要在settings.py中設定

在 templates 列表中的 options 對應的字典中,設定

『builtins』 : [『django.templatetags.static』]。

7.模板繼承

**(1)作用:**提高**的重用率。將公共的**提取成乙個檔案

(一般情況下命名為base.html)

(2)語法:

子介面 首先 繼承 base.html

用 填充內容。

8.元件

(1)每個頁面都用到的相同的內容(頁面的footer部分),可以提取成乙個檔案。使用元件的方式進行插入。

(2)語法:

Django模板系統

官方文件 只需要記兩種特殊符號 和 變數相關的用 邏輯相關的用。變數名由字母數字和下劃線組成。點 在模板語言中有特殊的含義,用來獲取物件的相應屬性值。幾個例子 view中 def template test request l 11,22,33 d class person object def i...

Django模板系統

如果在模板中需要解析變數使用 如果在模板中進行邏輯相關操作使用 注釋 單行注釋。在django的模板系統中變數使用的語法 當模版引擎遇到變數,就會用值替換掉變數。變數的命名可以是字母數字以及下劃線 的組合。變數名稱中不能有空格或標點符號。練習1 把html檔案中的 替換成 老王 html檔案 vie...

Django模板系統

匯入 template 和 context 類 from django.template import template,context def hello template request html 1.構建模板結構 template obj template html 2.建立渲染結構 cont...