flask Blueprint蓝图

本文深入讲解了Flask框架中蓝图(Blueprint)的使用方法,通过实例演示如何将多个功能模块整合到一个项目中,实现单一入口启动整个应用。蓝图机制允许开发者在大型项目中更好地组织代码,避免路由冲突。

首先要了解蓝图的作用,模拟场景在团队开发过程中团队每个人都在写自己负责的功能模块,那多个py文件模板,我们如果完成后需要运行是不是要运行多个服务?但是我们的项目是一个整体,而不是零散的,所以我们怎么把很多py文件用一个run()启动呢,也就是怎么把他们构造在一起直接启动整体呢。其实并不难以前我们是不是也接触过类似的比如 Flask里的网页模板(render_template)中继承(Block)包含(include)机制,同理 Blueprint 蓝图也是类似的功能。

首先是主框架:

#使用蓝图需要依赖Blueprint库
from flask import Flask,Blueprint

#导入自定义的蓝图文集,from py文件名 import创建好的蓝图名
from day6_part import mypart

app = Flask(__name__)

app.config.from_pyfile('config.ini')

#注册定义好的蓝图文件,url_prefix给蓝图url加前缀,这里的前缀不是必须但是要和主框架的路由区分开不然会跟主框架路由冲突
app.register_blueprint(mypart,url_prefix='/part')

@app.route('/')
def index():
    return "这是首页"

if __name__ == "__main__":
    app.run()

需要植入到主框架的功能模块py文件

from flask import Flask,Blueprint

app = Flask(__name__)#注册蓝图,主框架调用的是这里赋值的变量名Blueprint内传入以后会用到的蓝图名和Flask对象的内置变量
mypart = Blueprint('mypart',__name__)

#蓝图文件不需要导入配置文件只要主框架配置好即可
# 这里我们就直接取装饰蓝图即可 @mypart.route('/') def index(): return "这里是蓝图的副功能"

 

转载于:https://www.cnblogs.com/Niuxingyu/p/10179800.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值