一个网站的基本框架(如页面布局、导航栏、页脚栏等)往往是相同的。可以把这个基本框架做成一个模版,其它正式的HTML页面可以直接套用这个模版,可以大减少各HTML文件的代码量。
语法(模版文件中):
{% block content1 %}<!--创建一个块,其它HTML文件可以些区间填充内容,content1为块的名称,一个模版文件可以创建多个块-->
{% endblock %}
语法(其它HTML文件中):
<!--引用layout.html模版-->
{% extends '模版示例/layout.html' %}
{% block content1 %}<!-- 这在个区域里填充HTML代码,content1为块的名称,需要和模版文件中的对应 -->{% endblock %}
示例:
1)创建一个模版页面
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>模版示例</title><style>#nav{width: 1280px;height: 100px;background-color: aqua;}#foot{width: 1280px;height: 100px;background-color: blue;}</style>{% block content1 %}<!--创建一个块,可用于写一些CSS等-->{% endblock %}</head><body><div id='nav'><h1>导航区</h1></div><div><h1>内容区</h1>{% block content2 %}<!--创建一个块,可用于写网页的实际内容-->{% endblock %}</div><div id='foot'><h1>页脚区</h1></div>{% block content3 %}<!--创建一个块,可用于写js代码等内容-->{% endblock %}</body>
</html>
模版页面效果:
2)正式HTML文件引用模版
page1.html
<!--引用layout.html模版-->
{% extends '模版示例/layout.html' %}
{% block content1 %}<!-- 填充第一个block --><style>h2{color: red;}</style>
{% endblock %}{% block content2 %}<!-- 填充第二个block --><h2>我是page1,我引入了模版的内容</h2>
{% endblock %}
页面效果:
page2.html
<!--引用layout.html模版-->
{% extends '模版示例/layout.html' %}
{% block content1 %}<!-- 填充第一个block --><style>h2{color: pink;}</style>
{% endblock %}{% block content2 %}<!-- 填充第二个block --><h2>我是page2,我引入了模版的内容</h2>
{% endblock %}
页面效果:
这里我们发现,page1和page2的导航区和页脚区的内容都是一样的,是从模版中引入的,只需要写填充内容区即可。代码量大大减少。
而且,如果需要修改导航区和页脚区的内容,只需要修改模版文件即可。