django模板語法之include

2021-09-07 16:12:22 字數 2216 閱讀 9007

假如我們有以下模板index.html,**為:

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

title

>title

title

>

head

>

<

body

>

<

div>網頁公共頭部部分

div>

<

h2> 網頁body部分

h2>

<

div>網頁公共底部部分

div>

body

>

html

>

做過web開發的童鞋知道大部分網頁的公共頭部,公共底部部分**每個頁面都一樣,那麼就應該將其單獨拿出做為乙個html, 這樣修改這部分**時候,不需要每個頁面都修改, 所以在django中我們可以這麼做:

top.html

<

div>網頁公共頭部部分

div>

bottom.html

<

div>網頁公共底部部分

div>

index.html

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

title

>title

title

>

head

>

<

body

>

<

h2> 網頁body部分

h2>

body

>

html

>

我們可以使用django模板引擎的include語法,來將單獨的頁面包含到當前模板頁面中。有同學有疑問,那我們通過檢視傳遞給模板的上下文,在被包含的模板中可以使用嗎?可以直接使用。

假如我們有如下檢視:

def

index(request):

return render(request, '

index.html

', )

該django的檢視函式,傳遞給模板並渲染模板。

top.html修改如下:

<

div>網頁公共頭部部分:}

div>

這麼使用是沒有問題的。

我這裡有這樣的乙個問題,假如所有的頁面都使用共同的頭部top.html, 可能針對1.html 2.html 3.html所使用的頭部有些樣式不一樣,所需top.html:

<

div

classs

='acss'

>網頁公共頭部部分

div>

但是對於5.html, 6.html使用的頭部樣式為:

<

div

class

='bcss'

>網頁公共頭部部分

div>

很顯然,如果直接通過include方式包含公共頭部,會導致一些頁面顯示問題。既然部分引數不一樣,include允許我們傳遞引數給被include的模板,我們可以使用with語法,那麼問題解決如下:

}

top.html可修改如下:

<

div

class

='}'

>網頁公共頭部部分

div>

被包含模板中部分引數,由我們include的時候動態指定,那麼top.html就不會因為細微差別而編寫多份**了。

Django之模板語法

第一種 return render request,index.html 第二種 return render request,index.html locals 將當前所在的命名空間中的名字全部傳遞給前端頁面python所有資料型別都可以傳 傳函式名 傳過來會自動加括號呼叫,顯示返回值。傳物件 物件...

django 模板語法

顯示的資料必須是後端view.py傳輸的資料 名字 1.普通輸出 2.for 迴圈 3.if 判斷 forloop.counter 索引從 1 開始算 forloop.counter0 索引從 0 開始算 forloop.revcounter 索引從最大長度到 1 forloop.revcounte...

Django 模板語法

1.模板語法的操作 1 後端檢視處理函式中,傳遞資料給前端網頁,將資料報含在字典中進行傳遞 2 前端網頁中展示資料 展示變數中的資料 判斷條件 展示的 迴圈遍歷 遍歷的 2.提交資料 http1.1標準提供了8種請求方式 網頁發起的請求,向伺服器請求 get,post,put,deletr,head...