我刚开始在我现有的 Django 项目上测试 PyCharm,它无法识别来 self 项目中应用程序的任何导入:
在 my_app1/models.py
中:
从 my_app2.models 导入东西
“ Unresolved 引用‘my_app2’”
这是为什么?我项目的目录结构与 recommended layout 匹配,并且它运行没有错误,只是 PyCharm 的魔法不想对其起作用。
似乎与这个问题有关: Import app in django project
但是我不知道我做错了什么。如果我尝试:
从 ..my_app2.models 导入东西
PyCharm 错误消失,它可以自动预测等。但是当我运行项目时 Django 抛出:
ValueError:尝试相对导入超出顶级包
编辑:
项目结构:
my_project/
src/
manage.py
db.sqlite3
my_app1/
templates/
__init.py__
admin.py
models.py
urls.py
views.py
...
my_app2/
templates/
__init.py__
admin.py
models.py
urls.py
views.py
...
my_project_app/
settings/
__init.py__
urls.py
...
最佳答案
我在使用“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,将目录标记为 > Sources Root
关于python - PyCharm 不识别 Django 项目导入 : from my_app. 模型导入的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38342618/