配置

描述

这里的配置是指插件的配置信息。通常,插件需要获取Web应用程序的配置。在第一种情况下,插件的python模块需要配置信息。第二种情况是插件的模板代码需要获取配置信息。

第一种情况下,插件可以直接导入配置文件模块,或使用 current_app.config

在第二种情况下,Flask本身已经使用config直接在模板中获取current_app.config的配置,但是旧版本(在0.10之前)可能不支持它,因此Flask-PluginKit添加了一个模板全局变量 emit_config() ,用户初始化 PluginManager 时,可以传递 pluginkit_config 参数作为配置信息,如果找不到,则会直接查找current_app.config。

备注

这个 emit_config 方法将首先查看 pluginkit_config 参数,如果没有找到,那么找 current_app.config ,如果仍不能找到,返回None。

示例

  • 用户定义

from flask_pluginkit import PluginManager
PluginManager(app, pluginkit_config=dict(HELLO="WORLD"))
  • 插件调用

假设以下代码是插件下的模板文件,要获取HELLO和DEBUG配置:

<div>
    Hello: {{ emit_config("HELLO") }}
</div>
<div>
    App is debug: {{ emit_config("DEBUG") }}
</div>