当情况并非如此时,Pylint-django会引发有关Django未配置的错误(VSCode)

Pylint-django 在 2.3.x 版本之前工作得很好,但从 2.4.0 开始它在每个 python-django 文件上报告错误:

未配置 Django。有关更多信息 runpylint --load-plugins=pylint_django --help-msg=django-not-configuredpylint(django-not-configured)

这发生在 VSCode 上,我相信我已经正确配置了它:

    {
      "python.linting.pylintArgs": [
          "--load-plugins",
          "pylint_django",
          "--load-plugins",
          "pylint_django.checkers.migrations",
          "--disable=C0114, C0115, W0222",
          "--disable=imported-auth-user",
          "--disable=invalid-name",
          "--disable=line-too-long"
      ]
    }

正如我所说,这工作得很好,直到 v.2.3。

我在他们的存储库中提出了一个问题,但遗憾的是它被驳回,几乎没有明显的努力来解决它。

目前我还在使用 v.2.3.0,上面的配置没有问题,但想知道这是一个错误还是其他问题。

有没有遇到这个问题,或者还有什么我遗漏的吗?

笔记:

可以通过在 VSCode 中添加此值来隐藏错误消息settings.json

  {
    "python.linting.pylintArgs": [
        [...]
        "--disable=django-not-configured",
    ]
  }

但我知道这是在扫地毯下的灰尘。

回答

--django-settings-module在 VS Code 设置中添加参数:

  {
    "python.linting.pylintArgs": [
        [...]
        "--disable=django-not-configured",
        "--django-settings-module=<mainapp>.settings",
    ]
  }

更改<mainapp>为您的主应用程序目录。例如,如果您settings.py在,sweetstuff/settings.py则参数值将为sweetstuff.settings. 这与从 Python 模块或 Django shell 内部导入设置模块的格式相同。

这个问题在一些 Bitbucket Pipelines 中出现。我通过创建DJANGO_SETTINGS_MODULE存储库变量来解决它,然后在运行 Pylint 时将其作为环境变量提供。

  • In my environment it seems that I didn't need `"--disable=django-not-configured"`, but only `"--django-settings-module=<mainapp>.settings",`.

以上是当情况并非如此时,Pylint-django会引发有关Django未配置的错误(VSCode)的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>