如何在flask python的另一个模块中获取配置参数?

时间:2015-01-28 09:21:34

标签: python flask config

在我的main.py中有以下代码:

app.config.from_object('config.DevelopmentConfig')

在另一个模块中,我使用import main然后使用main.app.config['KEY']来获取参数,但Python解释器说它无法在main.py中加载模块,因为导入部分。如何在Flask

中访问另一个模块中的配置参数

2 个答案:

答案 0 :(得分:1)

你的结构不是很清楚,但是我可以得到的,导入你的配置对象,然后将它传递给app.config.from_object():

from flask import Flask
from <path_to_config_module>.config import DevelopmentConfig

app = Flask('Project')
app.config.from_object(DevelopmentConfig)

if __name__ == "__main__":
    application.run(host="0.0.0.0")

如果您的配置模块与应用程序模块位于同一目录中,则可以使用:

from .config import DevelopmentConfig

答案 1 :(得分:0)

解决方案是将应用程序初始化放在根目录中的另一个文件中(例如:myapp_init_file.py):

from flask import Flask
app = Flask(__name__)

# Change this on production environment to: config.ProductionConfig
app.config.from_object('config.DevelopmentConfig')

现在要访问配置参数,我只需要在不同的文件中导入该模块:

from myapp_init_file import app

现在我可以访问我的配置参数,如下所示:

app.config['url']

问题是我有一个导入循环无法运行我的python应用程序。有了这个解决方案,一切都像魅力一样。 ; - )