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')