flask 中的蓝图 blueprint 的理解

来源:互联网 发布:计算一组数据的标准差 编辑:程序博客网 时间:2024/05/21 17:04

  • 好处一:
Blueprint 其实这是录制其上的动作,比如注册 view,然后“挂载”到 app 上。它的目的只是便于组织多模块的平行共存,避免直接在 app 上注册 view 导致 view 模块和 app 模块相互 import 的问题。
  • 好处二:

另外一个顺带出来的好处,是对于 Flask Extension 开发者而言,blueprint 便于在 app 上插拔。而且 url_for 等等具有隔离命名空间的效果。

正常的组织形式如下:

首先是注册一个形式上的view,得到一个蓝图对象:

admin_views.py

from flask import Blueprintadmin = Blueprint('admin', __name__)@admin.route('/')def index():    pass@admin.route('/logout')def logout():    pass

将该蓝图对象挂载(注册)到app下面:

application.py

from flask import Flaskfrom admin_views import adminapp = Flask('my_application')app.register_blueprint(admin, url_prefix='/admin')

0 2
原创粉丝点击