flask(十四)----模版渲染之继承

本文介绍如何使用Flask框架配合HTML模板继承技术实现网页导航栏切换时内容的自动更新,通过示例展示了基模板与子模板的定义及使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:在一个页面中,如何根据导航栏的切换自动更新html页面?

 

 例如:我在点击项目管理的时候,自动变化横线之间的内容,但是导航栏不变,我们可以使用html页面的模版继承,带变化的html继承base.html即可。

from flask import Flask, render_template

app = Flask(__name__)


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/projects')
def projects_list():
    return render_template('projects.html')


if __name__ == '__main__':
    app.run(debug=True)

 base.html基模版:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基模版--{%block title%}默认标题{%endblock%}</title>
</head>
<body>
    <p>测试平台</p>
    <p>项目管理</p>
    <p>接口管理</p>
    <p>用例管理</p>
    <p>联系人</p>

    <hr>
    {%block content%}
    测试super()函数在子模板中的应用
    {%endblock%}
    <hr>

    <p>赞助商</p>

</body>
</html>

子模版继承base.html基模板:

{ % extends 'base.html' % }

内容变化区域:

{ % block content % }

子模板与基模板不同的内容

{ % endblock % }

projects.html:

<!--继承基模版 base.html-->
{%extends 'base.html'%}

<!--子模板变化的内容-->
{%block title%}项目管理{%endblock%}

{%block content%}
    chuntian负责的项目管理列表内容展示
{%endblock%}

效果:

 {{ super() }}:

子模板中使用{{super()}}会将基模板中的内容保留

 {% include xxx %}:组件化引入

从外部引入html内容

效果:

 宏:macro,类似函数

 效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chuntian_tester

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值