flask中include和extend的用法

Y24


专业理论推荐博客:https://blog.csdn.net/muttry/article/details/80872007

在此只谈个人理解


一、include用法:

在个人看来,就是实现了,当flask工程中有多个网页中有相同模块时,只需要通过共享文件html直接调用即可,不用每个使用到的网页都写一遍模块代码。 操作:

1、在工程目录下创建一个共享文件夹templates文件夹(若在其他目录中创建该文件夹,需要在创建的Flask的工程app下,修改templates的文件位置,代码如下

from flask import Flask
#template_folder默认目录为工程目录下templates文件夹
app = Flask(__name__,template_folder='static/templates')
app.debug=True

2、在文件夹中放置一个html文件,内容为多个网页公共使用的模块。之后在需要到该网页中,在指定位置直接使用{%include ‘网页名’%}调用即可,而且不需要渲染。调用之后,公共网页的内容就会出现在你调用的对应位置,不需要再写很多代码。如下: (例如创建的公共网页文件名为test.html)
在这里插入图片描述


二、extend用法:

extend中文名为扩充,其实就是为网页扩充模块的。类似python中类的继承。extend中也有父(基)模板,子模板。子网页中可以继承基类的一个或多个模块,注意,是以模块为单位继承的。举例:
基(父)网页代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    {% block css %}
    {% endblock %}
</head>
<body>
    <a href="{{url_for('app1.login')}}">点击进入login.html</a>
    <h1>extend方法测试</h1>
    {% block body %}
    {% endblock %}
</body>
{% block js %}
{% endblock %}
</html>

子模板网页代码:
{%extends 'test0.html'%}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    
    {% block css %}
    <style type="text/css"></style>
    {%endblock%}
    
</head>
<body>

{% block body %}
<a href="{{url_for('app1.t')}}">点击进入test0.html</a>
<h1>extend测试</h1>
{%endblock%}

</body>

{% block js %}
<script type="text/javascript"></script>
{%endblock%}

</html>

效果:
基模板网页:
在这里插入图片描述

子模板网页:
在这里插入图片描述

extend扩充模板,调用基模板之后子模板网页效果:

在这里插入图片描述

个人小结,定有不足,欢迎指点。
谢谢~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值