gpt4 book ai didi

python - 如何在应用程序外部访问 Flask 应用程序配置?

转载 作者:行者123 更新时间:2023-11-28 19:26:19 27 4
gpt4 key购买 nike

我不确定这是否是 flask 特定的问题,或者我是否只是缺乏对 python 导入机制的理解,但我在使用 flask web 应用程序时遇到了一些问题。这是我的应用程序的布局:

/myapp
/INSTALL
/TODO
/run.py
/instance
/application.cfg
/myapp
/static
/templates
/__init__.py
/config.py
/service.py

config.py文件存放默认的应用配置,application.cfg存放实例配置。它们看起来像这样:

DEBUG = False
TESTING = False
SECRET_KEY = "please_replace_me"

这就是我在 init.py 中设置应用程序的方式:

import flask
app = Flask(__name__, instance_relative_config=True)
app.config.from_object("myapp.config")
app.config.from_pyfyle("application.cfg", silent=True)

现在我想要的是从 service.py 访问 app.config 对象,它不包含在 init.py 或作为 Web 应用程序一部分的任何其他模块中。 IE。这就是我希望我的 service.py 文件读取的方式:

from somewhere.somehow import app

def run():
do_stuff(app.config["CONFIG_OPTION"])

问题是 service.py 文件必须在包内,所以我不能将它向上移动一个文件夹并只导入 myapp。我该怎么做?

最佳答案

如果要导入位于父目录中的模块,一种可能的方法是在导入之前将父目录添加到 sys.path 中:

cmd_folder = os.path.abspath(os.path.split(inspect.getfile(inspect.currentframe() ))[0])
sys.path.append(cmd_folder+'/../')

关于python - 如何在应用程序外部访问 Flask 应用程序配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11181445/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com