1.django嚴格意義上來說是mtv模式:t:模板 v:檢視在python**中使用django模板的最基本方式如下:
(1). 可以用原始的模板**字串建立乙個 template 物件, django同樣支援用指定模板檔案路徑的方式來創
建 template 物件;
(2). 呼叫模板物件的render方法,並且傳入一套變數context。它將返回乙個基於模板的展現字串,模板中
2.建立模板模板的類庫 在django的template下
這裡要強調一點為什麼用 python manage.py shell 而不是用python來啟動直譯器:
因為 python manage.py shell 在啟動直譯器之前,它告訴django使用
哪個設定檔案。 django框架的大部分子系統,包括模板系統,都依賴於配置檔案;如果django不知道使用哪
個配置檔案,這些系統將不能工作。
3.丟擲 templatesyntaxerror 異常的情況:-無效的tags
-標籤的引數無效
-無效的過濾器
-過濾器的引數無效
-過濾器的引數無效
-未封閉的塊標籤 (針對需要封閉的塊標籤)
4.模板渲染一旦你建立乙個 template 物件,你可以用 context 來傳遞資料給它。 乙個context是一系列變數和它們值的集
合。
t.render(c) 返回的值是乙個unicode物件,不是普通的python字串。 你可以通過
字串前的 u 來區分
5.處理無效變數預設情況下,如果乙個變數不存在,模板系統會把它展示為空字串,不做任何事情來表示失敗
6.基本的模板標籤和過濾器標籤 if/else
- 標籤檢查(evaluate)乙個變數,如果這個變數為真(即,變數存在,非空,不是布林值假),系統會
顯示在 和 之間的任何內容
- 標籤接受 and , or 或者 not 關鍵字來對多個變數做判斷 ,或者對變數取反( not )
- 標籤不允許在同乙個標籤中同時使用 and 和 or ,因為邏輯上可能模糊的,例如,如下示例是錯誤的:
for
允許我們在乙個序列上迭代。 與python的 for 語句的情形類似,迴圈語法是 for x in y ,y是要迭
代的序列而x是在每乙個特定的迴圈中使用的變數名稱。 每一次迴圈中,模板系統會渲染在 和
之間的所有內容。
django不支援退出迴圈操作。 如果我們想退出迴圈,可以改變正在迭代的變數,讓其僅僅包含需要迭代的項
目。 同理,django也不支援continue語句,我們無法讓當前迭代操作跳回到迴圈頭部。
7.在檢視中使用模板django 3 模板引擎
目錄 模板載入機制 render include模板標籤 模板繼承 編寫模板字串,建立 template 物件,建立 context 物件,然後呼叫 render 方法。示例 from django import template t template.template my name is 建立模...
django 3 模板引擎
目錄模板載入機制 render include模板標籤 模板繼承 編寫模板字串,建立 template 物件,建立 context 物件,然後呼叫 render 方法。示例 from django import template t template.template my name is 建立模板...
Django 筆記4 模板
django官方文件 英文 django 中文文件 配置templates 專案的settings.py檔案中,有乙個 templates 配置,這個配置包含了模板引擎的配置,模板查詢路徑的配置,模板上下文的配置等。templates dirs 乙個列表,在這個列表中可以存放所有的模板路徑,以後在檢...