Repolode
pylint-dev

pylint-dev/pylint-django

Плагин для Pylint, который добавляет поддержку моделей, форм, представлений и миграций Django и сокращает число ложных срабатываний.

Звёзды
623
Форки
124
Открытые issues
76
Последний коммит
4 дня назад

Что это?

pylint-django — плагин для статического анализатора Python Pylint. По умолчанию Pylint не понимает динамическое поведение Django, поэтому предупреждает об атрибутах вроде Model.objects и Views.request, а также не может разрешить поля ForeignKey. Плагин добавляет анализ с учётом Django, устраняет эти ложные срабатывания и позволяет определять типы атрибутов полей моделей и форм.

Плагин подключается через параметр Pylint --load-plugins. Для точного анализа ему нужен модуль настроек Django: передайте его через переменную окружения DJANGO_SETTINGS_MODULE или флаг --django-settings-module, чтобы плагин мог определить установленные приложения и модели, на которые ссылаются по строковым именам. Без настроек используются значения по умолчанию, поэтому точность анализа снижается. Плагин также входит в Prospector и активируется автоматически при обнаружении Django.

Дополнительный проверяющий модуль для миграций отмечает новые поля со значениями по умолчанию, которые могут замедлить работу с большими таблицами, и операции RunPython без обратной функции. По умолчанию он отключён, поэтому его нужно включить явно.

Ключевые возможности

  • 01Подавляет ложные предупреждения об атрибутах, создаваемых Django, например Model.objects и Views.request.
  • 02Разрешает атрибуты ForeignKey, чтобы они больше не вызывали ошибки «has no member».
  • 03Определяет типы атрибутов полей Model и Form.
  • 04Проверяет методы Model.__unicode__ и отмечает потенциально опасное использование exclude в ModelForm.
  • 05По желанию проверяет миграции на рискованные значения по умолчанию для полей и необратимые операции RunPython.

Сценарии использования

  • Запускать Pylint или Prospector в CI для проекта на Django без потока ложных срабатываний.
  • Повышать точность статического анализа моделей и форм Django в крупных кодовых базах.
  • Проверять файлы миграций на проблемы с производительностью и обратимостью до развёртывания.

Быстрый старт

  1. 1

    Установите плагин из PyPI

    pip install pylint-django
  2. 2

    Запустите pylint с загруженным плагином и модулем настроек Django

    pylint --load-plugins pylint_django --django-settings-module=your.app.settings [..other options..] <path_to_your_sources>

Что важно знать

  • Распространяется по лицензии GPL-2.0 с принципом copyleft, которая может ограничивать некоторые виды коммерческого использования.
  • Django не устанавливается по умолчанию: его нужно настроить отдельно или установить с помощью extra with-django.
  • Лучше всего работает с настроенным модулем настроек Django. Без него анализ менее точен.

Темы

Частые вопросы

Что такое pylint-django?
Плагин для Pylint, который добавляет поддержку моделей, форм, представлений и миграций Django и сокращает число ложных срабатываний. pylint-django — плагин для статического анализатора Python Pylint. По умолчанию Pylint не понимает динамическое поведение Django, поэтому предупреждает об атрибутах вроде Model.objects и Views.request, а также не может разрешить поля ForeignKey. Плагин добавляет анализ с учётом Django, устраняет эти ложные срабатывания и позволяет определять типы атрибутов полей моделей и форм.
pylint-django можно использовать бесплатно? Какая у него лицензия?
pylint-django распространяется с открытым исходным кодом под лицензией GPL-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
pylint-django всё ещё поддерживается?
Активно поддерживается. Последний коммит в pylint-django — 3 нояб. 2026 г..
Для чего можно использовать pylint-django?
Запускать Pylint или Prospector в CI для проекта на Django без потока ложных срабатываний. Повышать точность статического анализа моделей и форм Django в крупных кодовых базах. Проверять файлы миграций на проблемы с производительностью и обратимостью до развёртывания.
Как установить pylint-django?
Установите плагин из PyPI: pip install pylint-django Запустите pylint с загруженным плагином и модулем настроек Django: pylint --load-plugins pylint_django --django-settings-module=your.app.settings [..other options..] <path_to_your_sources>
Где скачать pylint-django?
Исходный код и инструкции по установке — на GitHub: https://github.com/pylint-dev/pylint-django

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Платформа для самостоятельного развертывания, которая анализирует проекты на наличие ошибок, уязвимостей и проблем с поддерживаемостью и применяет Quality Gates в CI-пайплайнах.

11,2 тыс.+28 за неделю2,2 тыс.JavaLGPL-3.0Обновлён вчера