【问题标题】:Python/django import nightmare (unique case)Python/django 导入噩梦(特殊情况)
【发布时间】:2017-06-05 08:40:46
【问题描述】:

我有一个这样的项目结构,

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 django import python-import


【解决方案1】:

这是 Python 3 修复的 Python 2 问题之一。

如果您将 from __future__ import absolute_import 放在模块的顶部,则默认情况下所有导入都是绝对的,并且它将起作用(这是 Python 3 的行为)。使用from . import &lt;thing&gt; 从与当前模块相同的目录导入。

也就是说,我不喜欢将应用称为“测试”,因为许多测试运行者会假设其中有要运行的测试。

【讨论】:

    猜你喜欢
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-21
    • 2020-03-14
    • 2010-11-13
    • 2010-12-22
    • 1970-01-01
    相关资源
    最近更新 更多