Python 如何从不同的子域引用创建应用程序?
我的应用程序结构的相关部分如下所示:Python 如何从不同的子域引用创建应用程序?,python,flask,Python,Flask,我的应用程序结构的相关部分如下所示: hp/ | |---app/ |---admin/ |---auth/ |---errors/ |---main/ |---__init__.py |---email.py |---models.py |---search.py |---config.py |---quiz.py 我想在hp/或app/中创建一个scripts/域。在这些脚本中,我需要能够引用配置值。我正在使
hp/
|
|---app/
|---admin/
|---auth/
|---errors/
|---main/
|---__init__.py
|---email.py
|---models.py
|---search.py
|---config.py
|---quiz.py
我想在hp/
或app/
中创建一个scripts/
域。在这些脚本中,我需要能够引用配置值。我正在使用dotenv来实现这一点。为了使用dotenv,我需要app
可用,以便调用app.config['config\u NAME']
这里或多或少是我想做的:
导入请求
从应用程序导入应用程序
access\u key=app.config['access\u key']
secret\u key=app.config['secret\u key']
data=请求。get(f'https://api.foo.com/search?client_id={access_key}&page=1&query=foo').json()
如果我像上面一样尝试从app import app导入,我会得到一个ModuleNotFoundError:No module named'app'
错误。如果我尝试从。。导入应用程序
我收到一个ValueError:尝试在顶级包之外进行相对导入
错误
非常感谢您的指导/建议 我最终通过更改sys.path解决了这个问题 我补充说:
hp/
|
|---app/
|---admin/
|---auth/
|---errors/
|---main/
|---__init__.py
|---email.py
|---models.py
|---search.py
|---config.py
|---quiz.py
导入系统
导入操作系统
进口检验
currentdir=os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))
appdir=os.path.dirname(currentdir)
hpdir=os.path.dirname(appdir)
sys.path.insert(0,hpdir)
从应用程序导入创建应用程序
app=create_app()
<>之后,我成功地调用了<代码> App.CONFIG 你应该发布一些实际的Python代码,和目录列表一起。@ V25i增加了一点代码来显示我要做的基础。希望能有帮助。