django - PyCharm 无法使用 Django 项目应用解析 __init__.py 中的引用

标签 django pycharm

我对这个问题束手无策,希望能得到一些帮助来解决这个问题。

我有一个 Django 项目,其中有一堆这样的子应用程序:

my_project/
    manage.py
    my_project/
        settings.py
        urls.py
        wsgi.py
    app_root/
        __init__.py
        app1/
            __init__.py
            models.py
            views.py
            urls.py
            templates/
                [various templates].html
        app2/
            __init__.py
            models.py
            [etc]
        app3/
            [etc]

在我的 django settings.py 中,我安装了这样的应用程序:

app_root.app1,
app_root.app2,

在 PyCharm 中,我尝试了各种方法,但基本上将 Content Root 作为顶级“my_project/”,并将 app_root、app1、app2 等作为源根。我试过只将 app_root 作为唯一的源根,我也试过只将 app1app2 等作为源根, 但没有任何区别。

一切正常。应用程序运行和一切。但是,PyCharm 无法解析我的应用程序。

但是,如果我尝试这样做:

import app_root
...
def some_function(self):
    app_root.app1.models.My_Model.objects.all()

它将突出显示 app1 并显示错误 “在‘__init__.py’中找不到引用‘app1’” 这也意味着它无法在执行 app_root.app1. 时在路径中的任何位置执行自动完成 - 尽管有一个(空的)__init__.py,但它不知道模型、 View 等 在每个目录中。

我也不能使用任何重构,因为它总是说“函数不在源代码根目录下”

我花了无数个小时试图让 PyC​​harm 正常运行,但就是找不到实现它的方法。有什么方法可以做到这一点,以便 PyCharm 自动完成我的应用程序,而不是继续发出检查警告?

最佳答案

我有一些类似的问题。我的解决方案;在 PyCharm 首选项中,我在事件的 Python 解释器中添加了一个指向 app_root 的路径。

关于django - PyCharm 无法使用 Django 项目应用解析 __init__.py 中的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23033255/

相关文章:

python - Django 内部服务器错误而不是 404

javascript - 在 jQuery/Javascript 中使用 Django 模板标签?

python - Mac 上的 wxPython 和 PyCharm

python - 类 "Column"中未解析的属性 "SQLAlchemy"

pycharm - 如何在 Pycharm 中查看单个分支的提交历史?

Django Admin change_list 过滤多个 ManyToMany

python - Django REST框架: Purpose of CreateOnlyDefault

python - 提交Django表单后获取GET Var的PK

python - Django 模板和应用程序未加载

python - PyCharm - 一些断点在 Django 项目中不起作用