在数据库中存储变量并在运行时更新它们

Flask-WaffleConf的Python项目详细描述


烧瓶华夫饼PyPI version

waffleconf是一个烧瓶扩展,可以存储配置 数据库中的变量以及所述 变量。

根据gplv2+许可证发布。

安装

$ 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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带truezip的java拆分zip   java Spring,AppEngine:在AppEngine的数据源中添加postgresql url   java Android coverflow   java以编程方式创建复合过滤器,以在log4j 2中定义多个过滤器   java jpa eclipselink异常[eclipselink 4002]   中的java WordNet数据库目录相对路径。罐子   java无法在Spring Boot 2/3中显示登录的用户   java Onetomany:未找到联接表错误   java数据模型演化   java方法在类型列表中添加的(对象)不适用于参数(int)意味着什么?   用java打印两个数组   java SNMP4J发送从不超时   java添加/删除联系人(EditText)+类别(SpinnerBox),可以根据需要动态添加/删除多个联系人   语句和PreparedStatement之间的java差异   java在运行作为JAR归档文件分发的项目时加载图像等资源   来自应用程序或外部服务器的java Cron作业   多线程Java并发:并发添加和清除列表项   java更改单元测试的私有方法行为