flask之 模板继承

模板继承

模板的继承和面向对象的继承类似,模板的继承试将经常重复的代码抽离出来,放进父模板中,父模板还可以通过block开一个接口,子模板在继承父模板之后可以再次使用block来重写内容

extends语句

	{% extends '父模板路径' %}		

block语句

block必须要取名(name),name是子模板在开口过程识别是哪个接口的唯一标志

	{% block name %}
	{% endblock %}

父模板

父模板的开口:

  1. 标题内容(title标签)
  2. 页面内容(h2标签)
  3. 页面底部(div标签)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>
        {% block title %}
            学院
        {% endblock %}
    </title>
</head>
<body>
    <ul>
        <li>学院首页</li>
        <li>教师队伍</li>
        <li>学科建设</li>
    </ul>
        {% block content %}
            <h2>首页内容</h2>
        {% endblock %}
    {% block footer %}
        <div class="footer">
            页面底部
        </div>
    {% endblock %}
</body>
</html>

子模板

super():和面向对象类似,可以获取父模板的内容

{% extends 'HTML/index.html' %}    <!--继承父模板-->

{% block title %}
    {{ super() }}学科建设    <!-- 可以使用super()来获取父模板的内容,这点和面向对象的继承类似 -->
{% endblock %}

{% block content %}    <!--进行了重写-->
    <h2>xxx学科</h2>
    <h2>yyy学科</h2>
    <h2>zzz学科</h2>
{% endblock %}

{% block footer %}
    <div class="footer">
        学科建设页尾
        <p>二维码</p>
        <p>联系我们</p>
    </div>
{% endblock %}

需要注意的是在子模板继承父模板之后,不能在下面写标签,尽管写了标签,标签也不会被渲染

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值