Flask_Blueprint

1. 为什么使用蓝图?

假如说我们要为某所学校的每个人建立一份档案,一个很自然的优化方式就是这些档案如果能分类管理,就是说假如分为老师、学生、后勤人员等类别,那么后续查找和管理这些档案就方便清晰许多。
Flask的蓝图就提供了类似“分类”的功能。

2. 蓝图的优势

Flask蓝图提供了模块化管理程序路由的功能,使程序结构清晰、简单易懂。

3. 蓝图的创建及注册

3-1. 定义蓝图(app/admin/__init__.py)

从Flask中导入Blueprint类,再创建一个实例即可。
Blueprint接受两个参数实例化,分别为蓝本的名字和蓝本所在的包或模块,大多数情况下第二个参数使用Python 的__name__ 变量即可。

from flask import Blueprint

# 定义蓝图
admin =  Blueprint("admin", __name__)
# 导入视图函数
from app.admin.views import *

3-2. 使用蓝图创建路由(app/admin/views.py)

from app.admin import admin

@admin.route('/')
def index():
    return  "后台主页"

3-3. 注册蓝图(app/__init__.py)

创建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)

你可能感兴趣的:(Flask_Blueprint)