Python 3.x 未加载YAML文件中的Flask应用程序配置
我的应用程序需要配置,如=Python 3.x 未加载YAML文件中的Flask应用程序配置,python-3.x,flask,yaml,Python 3.x,Flask,Yaml,我的应用程序需要配置,如=app.config['LDAP\u BASE\u DN']='OU=users,dc=example,dc=org'我想将此配置传递到YAML文件,然后让应用程序使用它。我可以使用PyYAML或config\u with\u yaml加载文件。问题是我无法将应用程序设置为将其用作配置。 它应该基于“” 我用cfg=config.load(“/Users/pjose/Project/dev\u maintenance/backend/config.yaml”)加载配置文
app.config['LDAP\u BASE\u DN']='OU=users,dc=example,dc=org'
我想将此配置传递到YAML文件,然后让应用程序使用它。我可以使用PyYAML
或config\u with\u yaml
加载文件。问题是我无法将应用程序设置为将其用作配置。
它应该基于“”
我用cfg=config.load(“/Users/pjose/Project/dev\u maintenance/backend/config.yaml”)加载配置文件app.config.from\u object(cfg)
,然后通过调用app.config[“LDAP\u USERNAME”]
它应该设置配置,但不起作用
YAML文件:
LDAP_USERNAME: 'CN=Hermes Conrad,ou=people,dc=planetexpress,dc=com'
我得到这个错误:
File "/Users/pjose/Project/dev_maintenance/backend/dev_maintenance/__init__.py", line 32, in <module>
app.config["LDAP_USERNAME"]
KeyError: 'LDAP_USERNAME'
File”/Users/pjose/Project/dev_-maintenance/backend/dev_-maintenance/_u-init__uuuuuu.py“,第32行,在
app.config[“LDAP_用户名”]
KeyError:“LDAP\u用户名”
我终于可以做到这一点了
问题是,我没有将YAML
文件中的值传递到app.config[“LDAP\u USERNAME”]
,因为我使用的文档中没有此主题的引用,我认为它只需这样声明即可获取值
因此,关于如何使用YAML
文件设置应用程序配置的示例如下:
config.yaml
SQLALCHEMY_DATABASE_URI: "sqlite://"
SQLALCHEMY_TRACK_MODIFICATIONS : False
然后,要获得需要使用PyYAML库或其他工具解析yaml的值,请执行以下操作:
data = yaml_loader.yaml("/Users/pjose/Project/dev_maintenance/backend/config.yaml")
app.config.from_object(data)
app.config['SQLALCHEMY_DATABASE_URI'] = data.setdefault('SQLALCHEMY_DATABASE_URI')