Django4.3_templates模板之继承标签extends和include添加标签
admin
2023-07-16 02:41:56
0次

目的:当多个页面有很多相同部分的代码(前端代码)时,为了避免多次反复的拷贝代码,django提供了模板继承的概念。即:我们把共同的页面代码只需写一次后面需要用到直接使用django的继承属性即可,就不用写重复代码了。
步骤:a.创建母板(也叫基础模板),在其中定义站点的主要页面(就是相同的部分),这些都是不常修改甚至不修改的部分;
b.在母板中定义可变的block,定义方法为:{% block blockname %} 可变部分代码(可省略) {% endblock %},母板中的block必须要考虑到所有的子模板继承的现象,如果母板中没有在对应的代码区域增加block,则在子母板中无法实现其特有的功能;其中一个母板不可重复;
C.写可扩展部分的页面,通过继承部分来实现其特有的部分的代码,也就是重写母板中对应的block;
模板代码如下:




    
    Title
    



{% block list %}

欢迎来到我的博客!

{% endblock %}

子模板1代码如下:

{% extends "mainpage.html" %}
{% block styles %}
    .pylist{
            color: red;
            font-size: 23px;
        }
{% endblock %}

{% block list %}
    {% for articleobj in pylist %}
        
    {% endfor %}
{% endblock %}

子模板2代码如下:

{% extends "mainpage.html" %}
{% block list %}
    {{ block.super }}   #使用母板的list block代码
     {% for articleobj in javalist %}
         
     {% endfor %}
{% endblock %}

母板效果图:
Django4.3_templates模板之继承标签extends和include添加标签
子模板1的效果图:
Django4.3_templates模板之继承标签extends和include添加标签
子模板2的效果图:
Django4.3_templates模板之继承标签extends和include添加标签
总结:
<1>如果在模板中使用{% extends ‘base.html’%}的方式来继续母板,则必须保证放在首行,如果放在最后则继承将不起作用;
<2>一般来说,基础模板(母板)中{% block blockname%}标签越多越好,基础模板中的block越多意味着其扩展性越强(子模板中可以重写母板中的block来实现特有的功能)。但是当子模板中需要访问并使用基础模板中block中已有的内容,则使用{{ blcok.super }}变量的方式来实现。
<3>当你发现如果需要在多个模板直接进行代码的复制粘贴,此时应该考虑将该部分的代码放进基础模板中的对应的{% block %}中,这样后面的子模板直接继承即可,不用反复拷贝代码。
<4>不能在同一个基础模板中定义多个同名的{% block %},因为当基础模板中有多个相同的block时,子模板将无法确定从基础模板中使用哪一个block。
9.模板include添加标签
目的:include标签和extends标签的用作有些类似,extends标签是将其他模板(基础模板)直接复制过来使用,而include标签是将两个模板内容安装需要合并在一起使用(部分页面需要,不是全部需要,所以不能将其放进基础模板中)。
例如,下面图中后者需要将前者合并在一起,为了免费在后者的前端代码上重复制拷贝前者的代码,此时可以考虑使用include标签。
Django4.3_templates模板之继承标签extends和include添加标签
Django4.3_templates模板之继承标签extends和include添加标签
最终的效果图:
Django4.3_templates模板之继承标签extends和include添加标签
实现的代码过程:
Django4.3_templates模板之继承标签extends和include添加标签

欢迎关注作者公众号平台
Django4.3_templates模板之继承标签extends和include添加标签

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...