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