django 模板继承与重写
1、模板的繼承一般用在別人給我們做好的HTML頁(yè)面,當(dāng)我們發(fā)現(xiàn)有很多的頁(yè)面都具有相同的部分,這會(huì)我們應(yīng)該考慮怎么能把他們相同的部分給提取出來(lái),提取出來(lái)的部分我們作為一個(gè)單獨(dú)的HTML文件叫做base.html,其余不同的部分我們?cè)?/span>base.html中用{%block ?content%}{%endblock%}留坑
2、當(dāng)頁(yè)面1和頁(yè)面2都繼承這個(gè)base.html 之后,頁(yè)面1和頁(yè)面2也都繼承了base.html當(dāng)中的那個(gè)block塊,在頁(yè)面1這個(gè)塊之間去寫(xiě)頁(yè)面1與公共部分不同的代碼。在頁(yè)面2這個(gè)塊之間去寫(xiě)頁(yè)面2與公共部分不同的代碼。后面的每個(gè)頁(yè)面專(zhuān)門(mén)去寫(xiě)每個(gè)頁(yè)面不同的部分在這個(gè)塊之間。就是填坑
3、這樣的話(huà),頁(yè)面1和頁(yè)面2僅僅需要幾行代碼就可以完成頁(yè)面,并且不需要每個(gè)頁(yè)面都去添加公共部分的CSS,JS等靜態(tài)文件,因?yàn)楣膊糠秩抢^承于我們base.html頁(yè)面
?
在base.html當(dāng)中,我們需要去加載我們的靜態(tài)文件
{%load staticfile%}
然后把其中用到的css和js以及圖片和a標(biāo)簽,原來(lái)的相對(duì)路徑全部修改為我們項(xiàng)目的路徑
{% static ?‘css/base.css’%}
這樣的話(huà),我們的base頁(yè)面就能正常顯示了
?
在頁(yè)面1和頁(yè)面2當(dāng)中,我們需要首先繼承這個(gè)base頁(yè)面
第一行寫(xiě): {%extends ?‘base.html’%}
然后僅僅是需要填坑
{%block content%}
與公共部分不同的代碼,寫(xiě)在這。
{%endblock%}
注:如果我們每個(gè)頁(yè)面不同的部分都有自己獨(dú)立的CSS和JS代碼,我們還要多留兩個(gè)坑,一個(gè)用來(lái)填寫(xiě)CSS 一個(gè)用來(lái)填寫(xiě)JS。因此,一般通用的base頁(yè)面當(dāng)中,會(huì)留4種坑,一個(gè)是title里面會(huì)留一個(gè),CSS留一個(gè),js留一個(gè),內(nèi)容部分看有幾處留幾處。
轉(zhuǎn)載于:https://www.cnblogs.com/yijian001/p/8848114.html
總結(jié)
以上是生活随笔為你收集整理的django 模板继承与重写的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Oracle的diag文件可以删除,or
- 下一篇: 原型设计之Axure RP