蓝图扩展点

描述

这个扩展点缩写为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'
        )
    )