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%}

然后把其中用到的cssjs以及图片和a标签,原来的相对路径全部修改为我们项目的路径

{% static  css/base.css%}

这样的话,我们的base页面就能正常显示了

在页面1和页面2当中,我们需要首先继承这个base页面

第一行写: {%extends  base.html%}

然后仅仅是需要填坑

{%block content%}

与公共部分不同的代码,写在这。

{%endblock%}

注:如果我们每个页面不同的部分都有自己独立的CSSJS代码,我们还要多留两个坑,一个用来填写CSS 一个用来填写JS。因此,一般通用的base页面当中,会留4种坑,一个是title里面会留一个,CSS留一个,js留一个,内容部分看有几处留几处。

原文地址:https://www.cnblogs.com/yijian001/p/8848114.html