蓝图,听起来就是一个很宏伟的东西
在Flask中的蓝图 blueprint 也是非常宏伟的
它的作用就是将 功能 与 主服务 分开怎么理解呢?
比如说,你有一个客户管理系统,最开始的时候,只有一个查看客户列表的功能,后来你又加入了一个添加客户的功能(add_user)模块, 然后又加入了一个删除客户的功能(del_user)模块,然后又加入了一个修改客户的功能(up_user)模块,在这个系统中,就可以将
查看客户,修改客户,添加客户,删除客户的四个功能做成蓝图加入到客户管理系统中,本篇最后会做一个这样的例子,但是首先我们要搞清楚什么是蓝图 blueprint
首先要强调的几点 :
1.当成是一个不能够被run的Flask对象
2.蓝图中是不存在Config
3.蓝图需要注册在 app 实例上的
4.app.register_blueprint(Blueprint实例)
# 蓝图文件代码
from flask import Blueprint # 导入Blueprint obj = Blueprint('bp',__name__) # 实例化一个蓝图对象,第一个参数作为标识,在一个app中不能重复 @obj.route('/add') # 这里添加路由和视图函数的时候与在Flask对象中添加是一样的 def add(): return 'i am add blueprint' @obj.route('/delt') def delt(): return 'i am del blueprint'
# 主启动文件代码 from flask import Flask from blue_print.s_view import obj # 导入蓝图对象 app = Flask(__name__, template_folder="templates", static_folder="static", static_url_path="/statics" ) app.register_blueprint(obj) # 注册蓝图对象 if __name__ == '__main__': app.run()