当情况并非如此时,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",`.
THE END
二维码