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__)

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

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


# 这里我们就直接取装饰蓝图即可
@mypart.route('/')
def index():
    return "这里是蓝图的副功能"

猜你喜欢

转载自www.cnblogs.com/Niuxingyu/p/10179800.html