flask 中的蓝图 blueprint 的理解


  • 好处一:
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 的理解)