蓝图扩展点¶
描述¶
这个扩展点缩写为bep。
这个扩展点非常简单,只需在Web应用程序中添加一个蓝图,与正常的蓝图没什么区别。
插件需要通过register返回bep字段,返回的bep数据类型是一个格式为{blueprint: Blueprint Instance, prefix: /your_blueprint_url_prefix, parent: Name}的字典。目前仅支持一个蓝图。
在 3.6.2 版本发生变更: 支持 Flask 2.0 的嵌套蓝图,用 parent 参数指定(beta)。但是仅支持嵌套其他插件的蓝图。
Flask-PluginKit通过 _bep_handler()
加载bep,此方法将检测bep规则和内容。
蓝图可以安装在None或其他前缀下,只要前缀合法,Flask-PluginKit不会检测蓝图路由。
用户需确保插件无害,并且不会污染原始应用程序,其他则是插件开发人员的事情。
如果你只想把视图添加到已有蓝图中,可以参考 vep on blueprint
示例¶
注册bep
from os.path import dirname, abspath
from flask import Blueprint
bp = Blueprint('test', 'test', root_path=dirname(abspath(__file__)))
@bp.route('/')
def your_route():
pass
def register():
return dict(
bep=dict(
blueprint=bp,
prefix='/test'
)
)