Blueprint 其实这是录制其上的动作,比如注册 view,然后“挂载”到 app 上。它的目的只是便于组织多模块的平行共存,避免直接在 app 上注册 view 导致 view 模块和 app 模块相互 import 的问题。
- 好处一:
- 好处二:
另外一个顺带出来的好处,是对于 Flask Extension 开发者而言,blueprint 便于在 app 上插拔。而且 url_for 等等具有隔离命名空间的效果。
正常的组织形式如下:
首先是注册一个形式上的view,得到一个蓝图对象:
admin_views.py
from flask import Blueprint admin = Blueprint('admin', __name__) @admin.route('/') def index(): pass @admin.route('/logout') def logout(): pass
将该蓝图对象挂载(注册)到app下面:
application.py
from flask import Flask from admin_views import admin app = Flask('my_application') app.register_blueprint(admin, url_prefix='/admin')
flask 中的蓝图 blueprint 的理解
最新推荐文章于 2021-12-23 18:57:20 发布