欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

django模板語(yǔ)法學(xué)習(xí)之include示例詳解

 更新時(shí)間:2017年12月17日 09:23:56   作者:聽(tīng)風(fēng)。  
寫(xiě)過(guò) Web 程序的都對(duì) include 包含文件很熟悉,那么在 Django,include 又是怎么一個(gè)機(jī)制呢?下面這篇文章主要給大家介紹了關(guān)于django模板語(yǔ)法學(xué)習(xí)之include的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

前言

在很多網(wǎng)站中,基本上的都會(huì)有一個(gè)開(kāi)頭和一個(gè)結(jié)尾,在每一個(gè)網(wǎng)頁(yè)中都會(huì)顯示。相對(duì)于這種的來(lái)說(shuō),在Django中,最好的方法就是使用include的標(biāo)簽,在每一個(gè)模板中都加入這個(gè)開(kāi)頭和結(jié)尾的標(biāo)簽。

include標(biāo)簽使用

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

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
<div>網(wǎng)頁(yè)公共頭部部分</div>
<h2> 網(wǎng)頁(yè)body部分 </h2>
<div>網(wǎng)頁(yè)公共底部部分</div>
</body>
</html>

做過(guò)web開(kāi)發(fā)的童鞋知道大部分網(wǎng)頁(yè)的公共頭部,公共底部部分代碼每個(gè)頁(yè)面都一樣,那么就應(yīng)該將其單獨(dú)拿出做為一個(gè)html, 這樣修改這部分代碼時(shí)候,不需要每個(gè)頁(yè)面都修改, 所以在django中我們可以這么做:

top.html

<div>網(wǎng)頁(yè)公共頭部部分</div> 

bottom.html

<div>網(wǎng)頁(yè)公共底部部分</div> 

index.html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
 <meta charset="UTF-8"> 
 <title>Title</title> 
</head> 
<body> 
{% include 'top.html' %} 
<h2> 網(wǎng)頁(yè)body部分 </h2> 
{% include 'bottom.html' %} 
</body> 
</html>

我們可以使用django模板引擎的Include語(yǔ)法,來(lái)將單獨(dú)的頁(yè)面包含到當(dāng)前模板頁(yè)面中。有同學(xué)有疑問(wèn),那我們通過(guò)視圖傳遞給模板的上下文,在被包含的模板中可以使用嗎?可以直接使用。

假如我們有如下視圖: 

def index(request): 
 return render(request, 'index.html', {'a': 100, 'b': 200}) 

該django的視圖函數(shù),傳遞給模板并渲染模板。

top.html修改如下:

<div>網(wǎng)頁(yè)公共頭部部分:{{ a }}</div> 

這么使用是沒(méi)有問(wèn)題的。

我這里有這樣的一個(gè)問(wèn)題,假如所有的頁(yè)面都使用共同的頭部top.html, 可能針對(duì)1.html 2.html 3.html所使用的頭部有些樣式不一樣,所需top.html:

<div classs='acss'>網(wǎng)頁(yè)公共頭部部分</div> 

但是對(duì)于5.html, 6.html使用的頭部樣式為:

<div class='bcss'>網(wǎng)頁(yè)公共頭部部分</div> 

 

很顯然,如果直接通過(guò)include方式包含公共頭部,會(huì)導(dǎo)致一些頁(yè)面顯示問(wèn)題。既然部分參數(shù)不一樣,include允許我們傳遞參數(shù)給被include的模板,我們可以使用with語(yǔ)法,那么問(wèn)題解決如下:

{{ % include 'top.html' with mycss='acss' % }} 

top.html可修改如下:

<div class='{{mycss}}'>網(wǎng)頁(yè)公共頭部部分</div> 

被包含模板中部分參數(shù),由我們include的時(shí)候動(dòng)態(tài)指定,那么top.html就不會(huì)因?yàn)榧?xì)微差別而編寫(xiě)多份代碼了。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Python內(nèi)建類型list源碼學(xué)習(xí)

    Python內(nèi)建類型list源碼學(xué)習(xí)

    這篇文章主要為大家介紹了Python內(nèi)建類型list源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python3批量創(chuàng)建Crowd用戶并分配組

    Python3批量創(chuàng)建Crowd用戶并分配組

    這篇文章主要介紹了Python3批量創(chuàng)建Crowd用戶并分配組,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python運(yùn)維之獲取系統(tǒng)CPU信息的實(shí)現(xiàn)方法

    Python運(yùn)維之獲取系統(tǒng)CPU信息的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇Python運(yùn)維之獲取系統(tǒng)CPU信息的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python隊(duì)列Queue實(shí)現(xiàn)詳解

    Python隊(duì)列Queue實(shí)現(xiàn)詳解

    這篇文章主要介紹了Python隊(duì)列Queue實(shí)現(xiàn)詳解,隊(duì)列是一種列表,隊(duì)列用于存儲(chǔ)按順序排列的數(shù)據(jù),隊(duì)列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),不同的是隊(duì)列只能在隊(duì)尾插入元素,在隊(duì)首刪除元素,需要的朋友可以參考下
    2023-07-07
  • Python 變量類型及命名規(guī)則介紹

    Python 變量類型及命名規(guī)則介紹

    Python編程中,變量是用于存放值或?qū)ο竦娜萜鳌6兞康拿Q可以自定義,基本的命名規(guī)則如下
    2013-06-06
  • Python實(shí)現(xiàn)二分查找算法實(shí)例

    Python實(shí)現(xiàn)二分查找算法實(shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)二分查找算法,實(shí)例分析了二分查找算法的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05
  • python 爬蟲(chóng)網(wǎng)頁(yè)登陸的簡(jiǎn)單實(shí)現(xiàn)

    python 爬蟲(chóng)網(wǎng)頁(yè)登陸的簡(jiǎn)單實(shí)現(xiàn)

    這篇文章主要介紹了python 爬蟲(chóng)網(wǎng)頁(yè)登陸的簡(jiǎn)單實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python竟能畫(huà)這么漂亮的花,帥呆了(代碼分享)

    Python竟能畫(huà)這么漂亮的花,帥呆了(代碼分享)

    這篇文章主要介紹了用Python作圖的一個(gè)簡(jiǎn)單實(shí)例,通過(guò)turtle模塊實(shí)現(xiàn)作圖,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • python創(chuàng)建列表并給列表賦初始值的方法

    python創(chuàng)建列表并給列表賦初始值的方法

    這篇文章主要介紹了python創(chuàng)建列表并給列表賦初始值的方法,涉及Python列表的定義與賦值技巧,需要的朋友可以參考下
    2015-07-07
  • python Hypothesis生成和執(zhí)行大量的測(cè)試用例

    python Hypothesis生成和執(zhí)行大量的測(cè)試用例

    Hypothesis是一個(gè)基于屬性的測(cè)試(property-based testing)庫(kù),它能夠幫助我們生成和執(zhí)行大量的測(cè)試用例,與傳統(tǒng)的單元測(cè)試相比,屬性測(cè)試更加靈活和全面,能夠發(fā)現(xiàn)更多的邊界情況和潛在的錯(cuò)誤
    2024-01-01

最新評(píng)論