PyCharm 无法识别 Django 项目导入:来自 my_app.models import thing
PyCharm not recognizing Django project imports: from my_app.models import thing
我刚开始在我现有的 Django 项目上测试 PyCharm,它无法识别来自我项目中应用程序的任何导入:
在my_app1/models.py
中:
from my_app2.models import thing
"Unresolved reference 'my_app2'"
这是为什么?我的项目的目录结构与 recommended layout 匹配,并且 运行 没有错误,只是 PyCharm 的魔法不想在上面工作。
似乎与这个问题有关:
但我不知道我做错了什么。如果我尝试:
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
...
既然我可以查看您的项目结构,我可以告诉您问题似乎与您的 'src' 文件夹中缺少 __init__.py
有关。尝试在 'src' 文件夹的根目录中添加一个名为 __init__.py
的空文件。
另外,看看这个question,我认为是相同的问题或非常相似的问题。
希望这可能有用,干杯!
我在使用“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
我在将环境更改为 virtualenv 后遇到了这个问题,因此我将 python 解释器更改为当前的 virtualenv。
转到“文件”>“设置”>“项目解释器”。
在那里 window 你将能够看到这个解释器上包含的所有包,Django 应该在那里。
这对我有用。
我刚开始在我现有的 Django 项目上测试 PyCharm,它无法识别来自我项目中应用程序的任何导入:
在my_app1/models.py
中:
from my_app2.models import thing
"Unresolved reference 'my_app2'"
这是为什么?我的项目的目录结构与 recommended layout 匹配,并且 运行 没有错误,只是 PyCharm 的魔法不想在上面工作。
似乎与这个问题有关:
但我不知道我做错了什么。如果我尝试:
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
...
既然我可以查看您的项目结构,我可以告诉您问题似乎与您的 'src' 文件夹中缺少 __init__.py
有关。尝试在 'src' 文件夹的根目录中添加一个名为 __init__.py
的空文件。
另外,看看这个question,我认为是相同的问题或非常相似的问题。
希望这可能有用,干杯!
我在使用“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
我在将环境更改为 virtualenv 后遇到了这个问题,因此我将 python 解释器更改为当前的 virtualenv。
转到“文件”>“设置”>“项目解释器”。 在那里 window 你将能够看到这个解释器上包含的所有包,Django 应该在那里。
这对我有用。