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