我正在开发一个网络项目并使用 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
In my views.py
我正在做import models
,但我得到了importError
。虽然from . import models
works.
Why?
但以下工作没有任何错误:
├── __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
你真的应该阅读有关进口的 PEP-8 https://www.python.org/dev/peps/pep-0008/#imports有关导入包的详细解释。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)