配置参数不从其他位置读取

2024-04-16 14:31:38 发布

您现在位置:Python中文网/ 问答频道 /正文

参数不是从运行.py. 运行.py是烧瓶启动脚本

从运行.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"

Tags: 文件项目frompy脚本configappflask
2条回答

在创建app之后,不能打印PARAMETER键,因为它的配置对象中没有任何名为PARAMETER的键。为此,首先创建应用程序,导入保存配置的简单对象,然后使用app.config.from_object(Config)

#config.py
class Config(object):
    PARAMETER = 'my-parameter-value'
    #you can add another keys
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'you-will-never-guess'


#__init__.py
from config import Config

app = Flask(__name__);
app.config.from_object(Config)

我想你只是错过了加载参数。你知道吗

如果执行参数的内联加载,则应将其指定为:

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'

相关问题 更多 >