django模板继承

1.模板继承可以减少页面内容的重复定义,实现页面内容的重用

2.典型应用:网站的头部、尾部是一样的,这些内容可以定义在父模板中

3.block标签:在父模板预留区域,在子模板中填充内容

4.extends继承:写在继承模板文件的第一行

5.不能在一个模板中定义多个相同名字的block标签

6.子模板不必定义全部父模板中的block, 如果子模板没有定义block,则使用父模板的默认值

7.为了更好的可读性,可以给endblock标签起名

父模板base.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    {% block title %}
    <title>模板继承</title>
    {% endblock %}
</head>
<body>
    <div style="height: 100px;background: #ff0"></div>
    <div style="min-height: 300px;background: #666">
        {% block content %}
        主体内容
        {% endblock %}
    </div>
    <div style="height: 100px;background: #f0f"></div>
</body>
</html>

子模板succeed.py

{% extends 'succeed/base.html' %}

{% block title %}
<title>继承base</title>
{% endblock %}

{% block content %}
<ul>
    <li>吉拉拉</li>
    <li>乱宝宝</li>
</ul>
{% endblock %}

view.py

def my_succeed(request):
    return render(request, 'succeed/succeed.html')
原文地址:https://www.cnblogs.com/glz666/p/13793082.html