【问题标题】:Import parent module from submodule从子模块导入父模块
【发布时间】:2013-04-19 19:30:03
【问题描述】:

我遇到了一个我不理解的导入错误,并且无法在其他 SO 问题中找到解决方案:

我有这个 django 结构:

  • project_root/
    • 应用程序/
      • __init__.py
      • my_app/
        • __init__.py
        • models.py
        • views.py
        • 报告/
          • __init__.py
          • R1.py
          • R2.py

在 R1.py 或 R2.py 中的声明

from apps.my_app.models import MyModel

抛出一个 ImportError。我知道 MyModel 存在...我在 views.py 中以完全相同的方式导入它。

在 apps.my_app.reports.__init__.py 我有以下几行:

from R1 import R1_Report
from R2 import R2_Report

因为每个文件中都定义了 RX_Report 类。

这就是我能想到的所有可能相关的信息……有什么想法吗?

【问题讨论】:

  • 可能您是circular import 的受害者,您是否也从 R1.py 或 R2.py 将某些内容导入到了 apps.my_app.models 中??
  • 糟糕!你是对的。在我发布答案之前,我没有看到您的评论。

标签: python django


【解决方案1】:

啊……没关系。这是一个循环导入。通过切换解决了

from apps.my_app import reports
...
reports.stuff()

import apps.my_app
...
apps.my_app.reports.stuff()

在models.py中

【讨论】:

    猜你喜欢
    • 2020-12-06
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 2021-09-15
    • 2019-05-26
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    相关资源
    最近更新 更多