我刚开始在我现有的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
答案 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应该在那里。
这对我有用。
的链接