模板三(继承标签)



Django_模板之继承(extends)

作用:使用模板继承可以减少Django模板配置中的代码冗余
语法:
为父文件内容加入盒子
{% block content %}
放要修改的内容
{% endblock %}

子文件内容
{% extends "父模板文件名"} #继承父文件的内容,子文件除了盒子以外的其余内容和父文件的一样
{% load static %} #引入其他模板的内容

{% block 块名 %} #块名是自己起的
修改的内容或增加的内容

{% include "其他模板文件名" %}
{% endblock %}

说明:
块越多越好
如果在模板中使用{% extends 要继承的文件名 %},必须在第一行
如果需要访问父模板中的块的内容,使用{{block.super}},然后就可以在上级代码的基础上添加内容,而不是全部重载。
多个模板之间使用相同的代码,可以将其放置到父模板的某个{% block %}中
不允许在同一个模板中定义多个同名的{% block %}

实例:

父模板内容(.html文件)


"en">

"UTF-8">

Title

#盒子
{% block styles %}

{% endblock %}




class="outer">
class="nav">标题


class="left">
class="student manage">"/student/">学生管理


class="content">
#盒子
{% block content%}

WELCOME TO LOGIN


{% endblock %}





子模板内容(.html文件)
{% extends "base.html" %}
{% load static %}

{% block content %}
{{ block.super }}
{% for stu in student %}

学生{{ stu }}


{% endfor %}
{% include "test.html" %}
{% endblock %}

其他模板内容(test.html)

"en">

"UTF-8">
Title


"color: cadetblue">这是其他模板的内容