我刚刚开始在我现有的Django项目上测试PyCharm,它无法识别我项目中任何来自应用程序的导入:
在my_app1/models.py
:
from my_app2.models import thing
"未解决的参考'my_app2'"
为什么是这样?我的项目的目录结构与推荐的布局相匹配,并且运行没有错误,只是PyCharm的魔法不想对它起作用.
它似乎与这个问题有关: 在django项目中导入应用程序
但我无法弄清楚我做错了什么.如果我尝试:
from ..my_app2.models import thing
PyCharm错误消失了,它可以自动预测等等.但是当我运行项目时,Django抛出:
ValueError: attempted relative import beyond top-level package
编辑:
项目结构:
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 ...
小智.. 49
我正在使用"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,将Mark Directory标记为> Sources Root
我正在使用"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,将Mark Directory标记为> Sources Root