用pylint-django插件来检查Django项目
2019-09-22 11:01:45 +08 字数:521 标签: Python Django直接用Pylint来检查Django,容易产生误报。
例如,对一个全新生成的Django项目django_example
,就会报两条C0103
:application
和urlpatterns
命名不合法。
对此,有个Pylint插件pylint-django,可以解决这个问题。
安装 ¶
pip install pylint-django
运行效果 ¶
通过django-admin startproject django_example
创建一个新的Django项目,然后开始pylint
检查。
$ pylint django_example/
************* Module django_example.urls
django_example/urls.py:19:0: C0103: Constant name "urlpatterns" doesn't conform to UPPER_CASE naming style (invalid-name)
************* Module django_example.wsgi
django_example/wsgi.py:16:0: C0103: Constant name "application" doesn't conform to UPPER_CASE naming style (invalid-name)
------------------------------------------------------------------
Your code has been rated at 9.33/10
仅拿到9.33
分。
然而,这是Django的特殊语法,不应该被扣分或忽略。
通过添加--load-plugins pylint_django
参数,可以使用[pylint_django]插件:
$ pylint --load-plugins pylint_django django_example/
-------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 9.33/10, +0.67)
效果显著,符合预期。
配置 ¶
为避免每次都需要输入--load-plugins pylint_django
,也为了配合pytest的pytest-pylint插件进行检查,
推荐在项目根目录下的.pylintrc
中做配置。
[MASTER]
load-plugins=pylint_django
类似插件 ¶
除了Django外,Flask当然也有同类问题。 同理,有一个pylint-flask插件可以解决这个问题。