模板继承

模板继承是为了重用模板页面中相同的部分。在网站开发中继承主要使用在网站的顶部菜单、底部。在不同的页面中可以少写很多重复代码。

模板继承主要有父模板,子模板。

父模板:

父模板中主要是写子模板重复代码,实际上就是一个普通模板文件。但是父模板中需要预留位置给子模板填充。

在父模板中使用 block 标签给子模板预留位置。

{% block 名称 %}
  预留子模板填充内容,父模板中也可以写默认内容
{% endblock %}

示例:


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>这里是头部</h1>

    <hr/>

    {% block body %}
        这里预留给子模板填充
    {% endblock body %}

    <hr/>

    <h2> 这里是底部内容</h2>

    </body>
    </html>

子模板继承

extends在子模板的第一行声明继承的父模板

子模板填充父模板中的内容,结束标签可以不填名称,但是为了方便阅读建议都写上。

{% extends 'base.html' %}

{% block 父模板中的名称 % }

 填充内容 

{% endblock 父模板中的名称 % }

如果父模板中预留块中有默认内容,子模板没有填充的话将会使用默认内容,子模板一旦填充会覆盖父模板中默认内容。

要填充父模板,而且还需要调用父模板的内容使用super()调用父模板内容。

子模板:

{% block body %}
     <h6> 子模板填充的内容</h6>
    {{ super() }}  
{% endblock body %}
Iyoyo电子书 一本集作者多年开发经验的python电子书 all right reserved,powered by Gitbook文件修订时间: 2022年 17:10:05