在数据库中存储变量并在运行时更新它们
Flask-WaffleConf的Python项目详细描述
安装
$ pip install Flask-WaffleConf
配置
扩展的简单使用需要以下配置 变量(例如,在应用程序的config.py中):
- WAFFLE_CONFS:用于指定配置变量 它们将被存储在数据库中。它有以下几点 结构:
WAFFLE_CONFS={'MAX_FILESIZE':{'desc':'Max upload filesize (in bytes)','default':1000},'SITENAME':{'desc':'Name of the site appearing in the header','default':'Waffle'}}
检查 documentation 用于高级用途
使用sqlalchemy作为orm的示例应用程序
fromflaskimportFlask,current_appfromflask_waffleconfimportWaffleConf,AlchemyWaffleStore, \
WaffleMixinfromflask_sqlalchemyimportSQLAlchemyapp=Flask(__name__)app.config['WAFFLE_CONFS']={'MAX_FILESIZE':{'desc':'Max upload filesize (in bytes)','default':1000},'SITENAME':{'desc':'Name of the site appearing in the header','default':'Waffle'}}# Define your database# db = ...# Define modelclassConfModel(db.Model,WaffleMixin):__tablename__='confs'id=db.Column(db.Integer,primary_key=True)key=db.Column(db.String(255),unique=True)value=db.Column(db.Text)# Create database tables# ...# Initialize WaffleConfconfigstore=AlchemyWaffleStore(db=db,model=ConfModel)waffle=WaffleConf(app,configstore)@app.route('/')defindex():"""Display content of configured variable 'SITENAME'."""state=current_app.extensions['waffleconf']parsed=state.parse_conf()# {'MAX_FILESIZE': 1000, 'SITENAME': 'Waffle'}returnparsed['SITENAME']
多进程部署
由于0.2.0版,支持多进程部署。支票 the documentation 更多信息。
文档
文档位于docs/目录中,也可以在 https://flask-waffleconf.readthedocs.org。为了建立 源文件(您需要sphinx),运行以下命令 docs/目录中的命令:
$ make html