模板继承:
views.py
def get_indexs(request):
#设置页面title名字,用字典的方式处理
return render(request, 'home.html',context={"title":"home"})
<title>{{title}}</title>
block标签:用来规划结构布局
首次出现,代表规划
二次出现,代表填充以前的规划
三次出现,代表填充以前的规划,默认动作是覆盖,如果不想覆盖,可以添加{{ block.super }},这样就实现了增量式操作。
a.html
{% block header %}
{% endblock %}
{% block banner %}
{% endblock %}
{% block content %}
{% endblock %}
{% block footer %}
{% endblock %}
b.html
extends标签:继承已有模板,可以获取父模板的所有结构
#使用继承方法extends继承于base.html
{% extends 'base.html' %}
{% block header %}
<div>这是一个调用</div>
{% endblock %}
c.html
include:包含的意思,可以将页面作为一个模块,嵌入到其它页面中
{% extends 'home.html' %}
{% block content %}
<h3>这里是内容</h3>
{% endblock %}
{% block header %}
{{ block.super }}
<h3>111111</h3>
{% endblock %}
{% block footer %}
{% include 'footer.html' %}
{% endblock %}
d.html
aaaaaaaaaaaaaa
建议用block+extends做,因为include页面时间加载慢。
如果我们继承自一个父模板,子模板自己直接重写页面结构是不生效的,只能在已有的里面进行填充。