首页 > 解决方案 > 使用 Django 时 Pylint 不报告错误的导入顺序

问题描述

使用 Django 时,Pylint 不会报告错误的导入顺序。我有一个文件,例如:

from feature_one.models import Area
from django.shortcuts import render

导入顺序按字母顺序显然是错误的,因为 django 是第 3 方,所以 feature_one 是我自己的代码。排序输出:

    $ isort --check app/feature_one/views.py
    ERROR: pylint-wrong-import-order/app/feature_one/views.py Imports are incorrectly sorted and/or formatted.

    $ isort --diff app/feature_one/views.py
    --- pylint-wrong-import-order/app/feature_one/views.py:before   2021-04-19 11:08:35.849230
    +++ pylint-wrong-import-order/app/feature_one/views.py:after    2021-04-19 11:08:50.015937
    @@ -1,4 +1,4 @@
    +from django.shortcuts import render
     from feature_one.models import Area
    -from django.shortcuts import render
     
     # Create your views here.

那么,皮林特为什么不抱怨呢?

这是我创建的一个仓库来证明这一点:https ://github.com/Gilwyad/pylint-wrong-import-order

标签: pythondjangopylint

解决方案


我发现只有当我在命令行上指定一个 Python 包(有一个名为init .py 的文件)的目录名时才会显示错误的导入顺序警告。

对于主 Django 目录,情况并非如此,仅对于它的子目录。所以我必须将所有子目录(Django 应用程序)指定为参数。例子:

cd app
pylint feature_one

推荐阅读