我有一个这样的项目结构,
myAPI/ <---
announcements/
models.py
views.py
tests.py <---
tests/ <----
models.py
views.py
myAPI/ <---
settings.py
....
现在我无法将我的测试(django 应用程序)导入到我的公告应用程序中。
announcements/models.py
from tests.models import Test <--- Error!!
因为它正在django/announcements/tests.py 文件中寻找类
我也尝试过:
from myAPI.tests.models import Test <--- Error!!
它在 myAPI 文件夹(带有 settings.py 文件)中查找模块,这显然会引发错误。
任何有关此导入的帮助将不胜感激! 编辑:使用 python 2.7
最佳答案
这是 Python 2 的问题之一,已由 Python 3 修复。
如果你输入from __future__ import absolute_import
在模块的顶部,那么默认情况下所有导入都是绝对的,并且它将起作用(这是 Python 3 的行为)。使用from . import <thing>
从与当前模块相同的目录导入。
也就是说,我不喜欢将应用程序称为“测试”,因为许多测试运行者会假设其中有要运行的测试。
关于Python/django导入噩梦(独特案例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41762282/