Blueprint的实现

  • Blueprint其实本身只是对view上的接口进行了注册,然后整体挂载在app上,Blueprint本身的目的就是组织多模块的平行共存,避免直接在app上注册view,其实更多的只是方便开发和代码的维护,因为最终所有的views上的接口都仍然是直接挂载在app上,其实对应整个应用来说,没有什么明显的区别。
  • Flask 中的Blueprint不是一个可插拨的应用,因为它不是一个真正的应用,而是一套可以注册 在应用中的操作,并且可以注册多次。
  • 同时在这里,我们不能使用多个flask对象来管理和注册,因为这样会导致每个flask对象都有一个自己的配置,不好管理。
  • 使用Blueprint,应用会在Flask层中进行管理,共享配置,通过注册按需改变应用 对象。Blueprint的缺点是一旦应用被创建后,只有销毁整个应用对象才能注销lueprint。
  • 综合以上,简单来说,Blueprint就是通过url找到view的一套机制,并没有太过于复杂的逻辑。

创建方法

首先创建一个子目录,不妨创建user目录

然后创建__init__.py表示它是一个Python的包。

from flask import Blueprint
user = Blueprint('user', __name__,)
from app.user import views

在user目录下view.py文件中加上

from app.user import user

最终Blueprint对象在run.py文件之中进行注册

from app.user import user
app.register_blueprint(user, url_prefix='/user')
posted @ 2018-07-03 18:40  软件工程第六组  阅读(161)  评论(0编辑  收藏  举报