我正在开发一个网络项目并使用 Django。在我的 views.py
文件中,我想访问要导入我的 models
的数据库。
这是我的目录结构:
├── project
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── app
│ ├── admin.py
│ ├── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── manage.py
在我的 views.py
中,我正在执行 import models
,但我收到了 importError
。虽然 来自 .导入模型
有效。
为什么?
但是下面的操作没有任何错误:
├── __init__.py
├── mod1.py
└── mod2.py
mod1.py
import mod2
print(mod2.foo())
mod2.py
def foo():
return "Hello"
最佳答案
为了使用绝对导入,您需要引用完整的 package.sibling 组合:
import app.models
from app import models
from app.models import mymodel
但是,显式相对导入是绝对导入的可接受替代方法:
from . import models
from .models import mymodel
你真的应该read PEP-8 on imports有关导入包的很好的解释。
关于python - 从 。导入模型有效,但导入模型无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29982556/