假如说我们要为某所学校的每个人建立一份档案,一个很自然的优化方式就是这些档案如果能分类管理,就是说假如分为老师、学生、后勤人员等类别,那么后续查找和管理这些档案就方便清晰许多。
Flask的蓝图就提供了类似“分类”的功能。
Flask蓝图提供了模块化管理程序路由的功能,使程序结构清晰、简单易懂。
从Flask中导入Blueprint类,再创建一个实例即可。
Blueprint接受两个参数实例化,分别为蓝本的名字和蓝本所在的包或模块,大多数情况下第二个参数使用Python 的__name__ 变量即可。
from flask import Blueprint
# 定义蓝图
admin = Blueprint("admin", __name__)
# 导入视图函数
from app.admin.views import *
from app.admin import admin
@admin.route('/')
def index():
return "后台主页"
创建app后,即可注册已创立的蓝图。
from flask import Flask
from flask_script import Manager
app = Flask(__name__)
manager = Manager(app)
from app.admin import admin as admin_blueprint
from app.home import home as home_blueprint
# 注册admin蓝图, url_prefix='/admin':添加前缀/admin
app.register_blueprint(admin_blueprint, url_prefix='/admin')
# 注册home蓝图, 不添加前缀
app.register_blueprint(home_blueprint)