Django 框架08 模板定義與繼承

2021-09-29 17:54:53 字數 2591 閱讀 4668

定義模板

1.模板語言包括

①變數②標籤

③過濾器

④注釋2.變數

語法:

}
①當模版引擎遇到乙個變數,將計算這個變數,然後將結果輸出

②變數名必須由字母、數字、下劃線(不能以下劃線開頭)和點組成

③當模版引擎遇到點("."),會按照下列順序查詢:

字典查詢,例如:foo["bar"]

屬性或方法查詢,例如:foo.bar

數字索引查詢,例如:foo[bar]

④如果變數不存在, 模版系統將插入(空字串)

⑤在模板中呼叫方法時不能傳遞引數

3.在模板中呼叫物件的方法

①在models.py中定義類bloginfo

from django.db import models

class bloginfo(models.model):

...def showname(self):

return self.hname

②在views.py中傳遞bloginfo物件

from django.shortcuts import render

from models import *

def index(request):

hero = heroinfo(hname='abc')

context = 

return render(request, 'temtest/detail.html', context)

③在模板detail.html中呼叫

}
4.標籤

語法:作用

在輸出中建立文字

控制迴圈或邏輯

載入外部資訊到模板中供以後的變數使用

①for標籤

# 迴圈邏輯

} # 表示當前是第幾次迴圈

# 給出的列表為或列表不存在時,執行此處

②if標籤

# 邏輯1

# 邏輯2

# 邏輯3

③comment標籤

# 多行注釋

④include:載入模板並以標籤內的引數渲染

⑤url:反向解析

⑥csrf_token:這個標籤用於跨站請求偽造保護

⑦布林標籤:and、or,and比or的優先順序高

⑧block、extends:詳細描述在「模板繼承」

5.過濾器

語法:},例如},表示將變數name的值變為小寫輸出

使用管道符號 (|)來應用過濾器

通過使用過濾器來改變變數的計算結果

①可以在if標籤中使用過濾器結合運算子

if list1|length > 1
②過濾器能夠被「串聯」,構成過濾器鏈

name|lower|upper
③過濾器可以傳遞引數,引數使用引號包起來

list|join:", "
③default:如果乙個變數沒有被提供,或者值為false或空,則使用預設值,否則使用變數值

value|default  # 什麼也沒有
④date:根據給定格式對乙個date變數格式化

value|date:'y-m-d'
模板繼承

1.模板繼承   

①模板繼承可以減少頁面內容的重複定義,實現頁面內容的重用

②典型應用:**的頭部、尾部是一樣的,這些內容可以定義在父模板中,子模板不需要重複定義

③block標籤:在父模板中預留區域,在子模板中填充

④extends繼承:繼承,寫在模板檔案的第一行

⑤定義父模板base.html

# 這裡可以定義預設值

# 如果不定義預設值,則表示空字串

⑥定義子模板index.html

# 在子模板中使用block填充預留區域

# 實際填充內容

2.說明

①如果在模版中使用extends標籤,它必須是模版中的第乙個標籤

②不能在乙個模版中定義多個相同名字的block標籤

③子模版不必定義全部父模版中的blocks,如果子模版沒有定義block,則使用了父模版中的預設值

④如果發現在模板中大量的複製內容,那就應該把內容移動到父模板中

⑤使用可以獲取父模板中block的內容

⑥為了更好的可讀性,可以給endblock標籤乙個名字

# 區域內容

Django 框架的 模板繼承 與 模板包含

一 模板繼承。目的是 減少 的冗餘。語法 具體步驟 1 建立乙個layout.html檔案,2 把要顯示的頁面的內容寫在這裡面,也就是html要在瀏覽器顯示的內容 3 在right裡面寫個盒子 在這裡面寫個空盒子,以後誰來擴充套件就在這個盒子裡面新增相應的內容就行了 4 然後再建立乙個son.htm...

Django框架知識4(模板)

模板使用 1.配置 在工程中建立模板目錄templates。在settings.py配置檔案中修改templates配置項的dirs值 templates 2.定義模板 在templates目錄中新建乙個模板檔案,如index.html lang en charset utf 8 titletitl...

Django框架全面講解 模板

1.模板的執行 模版的建立過程,對於模版,其實就是讀取模版 其中巢狀著模版標籤 然後將 model 中獲取的資料插入到模版中,最後將資訊返回給使用者。view.py def index request return render request,index.html index.html 2.模板語...