django之模板继承

模板的继承,主要的作用就是实现模板内html代码的重复利用,方便维护和修改,比如一个网站每个网页的页头和页脚信息固定,这样就不需要在每个html页面加入页头和页尾代码,只需要在一个html文件中创建一个模板,其他html页面直接引用即可

常用的格式为 创建模板base.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{% block test1 %}
    “此处是要展示的页头信息”
{% endblock %}
{% block content %}
    "此处是要替换的内容"
{% endblock %}
{% block test2 %}
    “此处是要展示的页尾信息”
{% endblock %}
</body>
</html>

其中的两个block就是等待被继承的信息。

此时如果要文件home.html来继承,在文件里面直接展示出页头和页尾信息,这样就只需要在home中引用base.html 

{% extends 'base.html' %}

然后再指定需要替换的模板,比如我是要在home中,保持home内容完全展示的基础上,再加上页头和页尾信息。

这样,我就只需要替换{% block content %}
    "此处是要替换的内容"
{% endblock %} 这个block中的内容,保留页头和页尾的block。具体的实现如下

django之模板继承

这样的效果,就相当于home继承base后,把base中的block content内容 替换成home.html中的内容。最后home.html页面展示如下(未继承的时候,只会展示红框中的部分内容。):

 

django之模板继承