python - 从 。导入模型有效,但导入模型无效

标签 python django python-3.x import

我正在开发一个网络项目并使用 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/

相关文章:

具有unique_together的Django多态模型

python-3.x - tensorflow 中的batch_size?理解概念

python-3.x - 对于给定的数据,我需要在 Key 列中找到 "a"的计数

python - 在单循环中循环python dict中的多个键值对

python - Yahtzee使用Asciitable,需要分配玩家点数

python - 从 pandas DataFrame 中选择行 : only rows with at least three ones need to be selected

python - 按 MultiIndex 级别或子级别切片 pandas DataFrame

python - 我可以有一本带有同名键的字典吗?

python - ModuleNotFoundError : No module named 'bootstrap4'

django - Recaptcha 未呈现