使 isort 将从 Django 应用程序导入的内容识别为第一方导入

Bas*_*koa 8 python django isort

我正在开发一个包含许多不同 Django 应用程序的项目。

我想在这个项目上使用isort,但是从 Django 应用程序 ( from myapp1.mymodule import myfunction) 导入的内容可以通过isort第三方导入。

我怎样才能将isort它们识别为第一方进口?

我可以添加isort配置(在.cfg):known_first_party=myapp1,myapp2...但我必须维护这个列表。

有没有更好的办法?

you*_*inz 7

您可以使用src_paths选项来指定项目文件夹。您不需要维护known_first_party列表。相关源代码(https://github.com/PyCQA/isort/blob/5.6.4/isort/place.py#L63-L95):

if (
    _is_module(module_path)
    or _is_package(module_path)
    or _src_path_is_module(src_path, root_module_name)
):
    return (sections.FIRSTPARTY, f"Found in one of the configured src_paths: {src_path}.")
Run Code Online (Sandbox Code Playgroud)