运行时通过cookie重写烧瓶配置。
Flask-Config-Override的Python项目详细描述
烧瓶配置覆盖
此扩展允许在运行时更改烧瓶应用程序的配置。此行为由cookie控制,因此包含在唯一用户的会话中;配置更改不会影响其他用户。
一个常见的用法是在登台环境中快速更改选项,而不必重新部署配置更改。例如,我们将其用于外部api位置或功能切换,比如是否使用小型javascript文件。
可以重写的配置选项也有限且可配置(使用config_override_extensable_vars)。出于安全原因,无法重写此选项。
其思想是用代理对象替换烧瓶应用程序的配置对象,代理对象的行为可以根据请求进行控制/更改,同时公开与烧瓶配置相同的接口。扩展还提供了一个蓝图(默认的基url to/config_override/)来通过一些简单的http调用控制cookie;这会自动附加到应用程序。
安装
通过PYPI:
pip install flask-config-override
用法
安装后,首先将延长件连接到烧瓶应用程序:
from flask import Flask from flask.ext.config_override import ConfigOverride
app = Flask(__name__) app.config[‘FOO’] = ‘bar’
# Enable the override for the DEBUG option (default to false) app.config[‘CONFIG_OVERRIDE_EXTENDABLE_VARS’] = [‘FOO’] config_override = ConfigOverride(app)
# configure your routes and what not…
启动应用程序,然后打开浏览器并转到此URL将foo选项设置为另一个值;此处为“to to”:
http://localhost:5000/config_override/update/FOO/toto/
您的会话现在将在设置foo为新值的情况下运行。您可以在请求上下文中从app.config['foo']正常访问它。
要查看当前更改,您可以访问以下URL:
http://localhost:5000/config_override/
要删除更改,您只需清除cookie或转到那里:
http://localhost:5000/config_override/reset/
测试
- 首先安装nose以进行测试发现:pip install nose
- 然后在虚拟环境中运行测试:noests
联系人
随时发布问题,在github中请求,或者直接在twitter@el_boby上联系我。
立即待办事项
- 测试cookie实用程序
- 代理配置测试(基于烧瓶1)
- 文档API(Sphinx)
待办事项
- 由环境变量重写。
- 烧瓶调试工具栏集成。