配置¶
描述¶
这里的配置是指插件的配置信息。通常,插件需要获取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>