首页 > 解决方案 > 配置参数未从其他位置读取

问题描述

该参数不会从 run.py 以外的文件中读取。run.py 是 Fl​​ask 启动脚本

从 run.py :

from flask import Flask
app = Flask(__name__)
print(app.config["PARAMETER"])

从项目中的任何其他 python 文件返回以下错误:

KeyError: 'PARAMETER'

如何从项目中除启动脚本文件之外的其他位置读取配置文件?

更新 :

读取配置文件:

app.config.from_pyfile(os.path.join(".", "myconfig.conf"))

myconfig.conf 的内容:

PARAMETER = "test"

标签: pythonflask

解决方案


我认为您只是错过了加载参数。

如果您对参数进行内联加载,您可以将其指定为:

from flask import Flask
app = Flask(__name__)
app.config['PARAMETER_1'] = 'test'
assert app.config["PARAMETER_1"] == 'test'

上面的代码有效,现在如何从文件中加载类似的数据?

# prepare file 
from pathlib import Path
Path("myconfig.conf").write_text("PARAMETER_2 = 'test2'\n")

# load it    
app.config.from_pyfile("myconfig.conf")
# test it
assert app.config["PARAMETER_2"] == 'test2'

推荐阅读