模板继承是为了重用模板中的公共内容。一般Web开发中,继承主要使用在网站的顶部菜单、底部。这些内容可以定义在父模板中,子模板直接继承,而不需要重复书写。
{% block top %} {% endblock %}
{% block top %}
<h1>这是头部内容</h1>
{% endblock %}
{% block center %}
这是父类的中间的内容
{% endblock %}
{% block bottom %}
<h1>这是底部内容</h1>
{% endblock %}
{% extends 'base.html' %}
{% block content %}
{{ super() }} <br>
需要填充的内容 <br>
{% endblock content %}
- 不支持多继承
- 为了便于阅读,在子模板中使用extends时,尽量写在模板的第一行。
- 不能在一个模板文件中定义多个相同名字的block标签。
- 当在页面中使用多个block标签时,建议给结束标签起个名字,当多个block嵌套时,阅读性更好。
Jinja2模板中,包含(Include)的功能是将另一个模板整个加载到当前模板中,并直接渲染。
{% include 'hello.html' %}
包含在使用时,如果包含的模板文件不存在时,程序会抛出TemplateNotFound异常,可以加上 ignore missing
关键字。如果包含的模板文件不存在,会忽略这条include语句。
{% include 'hello.html' ignore missing %}
继承(Block)、包含(include)均能实现代码的复用。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有