python - PyCharm 不识别 Django 项目导入 : from my_app. 模型导入的东西

标签 python django pycharm python-import

我刚开始在我现有的 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/

相关文章:

django - django restframework 中用于身份验证的自定义模型而不是默认用户模型

python - 如何在 PyCharm IDE 中使用子进程模块调用基于 ncurses 的应用程序?

python - Crontab 模式每年运行一次脚本/一生一次

python - Tornado/异步 Web 服务器理论,如何处理长时间运行的操作以利用异步服务器

python - 用 "#"替换字母并反转

python - 如何在 tensorflow 中将恢复的权重随机设置为零?

python - 终端输出中的可点击链接

python - 如何从数据框中提取特定值?

python - 使用云端硬盘文件流获取Google云端硬盘文件链接

python - 如何将模型从一个应用程序导入 Django 中的另一个应用程序?