Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 未加载YAML文件中的Flask应用程序配置_Python 3.x_Flask_Yaml - Fatal编程技术网

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')