通过TOML文件配置Python Flask RESTplus应用程序

通过TOML文件配置Python Flask RESTplus应用程序,python,flask,flask-restplus,Python,Flask,Flask Restplus,基于此,的部分提到了使用文件配置应用程序的可能性,但是它没有提供示例,也没有提到不是Python文件的文件 是否可以通过config.yml或config.toml等文件配置应用程序 我当前的flask应用程序有两个不同数据库的配置,由于我使用的是flask restplus,因此还有其他用于Swagger文档的配置 片段: 从烧瓶导入烧瓶 app=烧瓶(名称) def配置应用程序(烧瓶应用程序): #MongoDB设置 flask_app.config['MONGO_URI']='mongod

基于此,的部分提到了使用文件配置应用程序的可能性,但是它没有提供示例,也没有提到不是Python文件的文件

是否可以通过
config.yml
config.toml
等文件配置应用程序

我当前的flask应用程序有两个不同数据库的配置,由于我使用的是
flask restplus
,因此还有其他用于Swagger文档的配置

片段

从烧瓶导入烧瓶
app=烧瓶(名称)
def配置应用程序(烧瓶应用程序):
#MongoDB设置
flask_app.config['MONGO_URI']='mongodb://user:password@mongo_db_端点:37018/myDB?authSource=admin'
flask_app.config['MONGO_DBNAME']=“myDB”
#xDB设置
flask_app.config['INFLUXDB_HOST']=“我的INFLUXDB_端点”
flask_app.config['INFLUXDB_PORT']=8086
flask_app.config['INFLUXDB_USER']=“influx_USER”
flask_app.config['INFLUXDB_PASSWORD']=“influx_PASSWORD”
flask_app.config['INFLUXDB_SSL']=True
flask_app.config['INFLUXDB_VERIFY_SSL']=False
flask_app.config['INFLUXDB_DATABASE']=“IoTData”
#Flask Restplus招摇过市配置
flask_app.config['RESTPLUS_SWAGGER_UI_DOC_EXPANSION']=“列表”
flask_app.config['RESTPLUS_VALIDATE']=True
flask_app.config['RESTPLUS_MASK_SWAGGER']=False
flask_app.config['ERROR_404_HELP']=False
def main():
配置应用程序(应用程序)
如果名称=“\uuuuu main\uuuuuuuu”:
main()
我希望避免设置大量环境变量,并希望使用
config.toml
文件配置它们


这是如何在烧瓶中实现的?

您可以使用
.cfg
文件和来自\u envvar的
来实现这一点。使用所有环境变量创建配置文件

my_config.cfg

MONGO_URI=mongodb://user:password@mongo_db_endpoint:37018
..
..
ERROR_404_HELP=False
然后设置env var
APP\u ENVS=my\u config.cfg
。现在,您需要做的就是使用Flask提供的_envvars

def配置应用程序(烧瓶应用程序):
flask_app.config.from_envvar('app_ENVS'))
#配置任何其他东西
#如果有蓝图,请登记