我有一个 Flask 应用的以下文件结构:
myapplication/
run.py
myapplication/
__init__.py
views/
__init__.py
models.py
...
templates/
static/
我已在myapplication/__init__.py
中使用SQLAlchemy初始化了数据库。但我想在models.py
中导入数据库对象,不过我不确定该如何实现。
我阅读了这个答案,并尝试使用相对导入从myapplication/__init__.py
中导入数据库对象,像这样:
from ... import db
但是我收到了这个错误:ValueError: Attempted relative import in non-package
。
那么我怎样才能在models.py
中获取myapplication/__init__.py
中的数据库对象呢?谢谢。
__init__.py
,只是忘记在问题中包含它了,我刚刚更新了它。我尝试使用from .. import db
,但是得到了相同的错误。 - Pav Sidhu__init__.py
文件的根目录? - Pav Sidhu.
表示当前包;两个点表示 "上一级包"(它们不指代文件名);来自pep-0328:"两个或多个前导点相对导入到当前包的父级,每个点从第一个点开始算一层。" - 除了特殊情况下的__init__.py
。 - Burhan Khalid