PyCharm无法识别Django项目导入:来自my_app.models导入的东西

时间:2016-07-13 04:18:56

标签: python django pycharm python-import

我刚开始在我现有的Django项目上测试PyCharm,并且它不能识别我项目中任何来自应用程序的导入:

@Transactional中的

my_app1/models.py

"未解决的参考' my_app2'"

这是为什么?我的项目目录结构与recommended layout匹配,并且运行没有错误,只是PyCharm的魔法并不想对它进行处理。

这似乎与这个问题有关: Import app in django project

但我无法弄清楚我做错了什么。如果我尝试:

from my_app2.models import thing

PyCharm错误消失了,它可以自动预测等等。但是当我运行项目时,Django抛出:

from ..my_app2.models import thing

编辑:

项目结构:

ValueError: attempted relative import beyond top-level package

3 个答案:

答案 0 :(得分:35)

我使用“2 Scoops of Django”项目布局遇到了这个问题,例如

/project_root
    /project_dir
        /config
            /settings
        /my_app
            /tests
            models.py
    /requirements
    readme.rst

代码正常运行,但是在/ tests中,IntelliJ / PyCharm显示了一个未解析的引用:

from my_app.models import Something

我已准备好所有__init__.py个文件。我最终必须将源根目录设置为project_dir

右键单击project_dir,将目录标记为>来源根

答案 1 :(得分:2)

现在我可以看看你的项目结构我可以告诉你,问题似乎与你的'src'文件夹中缺少__init__.py有关。尝试在'src'文件夹的根目录中添加名为__init__.py的空文件。

另外,看看这个question,我认为是同一个问题或非常相似的问题。

希望这可能有用,欢呼!

答案 2 :(得分:0)

在将环境更改为virtualenv后,我遇到了这个问题,因此我将我的python解释器更改为当前的virtualenv。

转到文件>设置>项目口译员。 在那个窗口中,您将能够看到所有包都包含在这个解释器上,Django应该在那里。

这对我有用。

关于:https://intellij-support.jetbrains.com/hc/en-us/community/posts/206598665-Unresolved-Reference-Errors-for-django

的链接