我不确定这是否是特定于烧瓶的问题,或者我只是缺乏对 python 导入机制的理解,但我在烧瓶 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 应用程序一部分的任何其他模块中。即这就是我希望我的 service.py 文件读取的方式:
from somewhere.somehow import app
def run():
do_stuff(app.config["CONFIG_OPTION"])
问题是 service.py 文件必须在包内,所以我不能将它上移一个文件夹并导入 myapp。我该怎么做呢?