Инструмент статического анализа, который находит в проектах на Python неиспользуемые функции, классы, переменные и импорты, а также недостижимый код.
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
Установите плагин из PyPI
pip install pylint-django - 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 обновляется ежедневно.
Похожие проекты
Линтер Swift с более чем 200 настраиваемыми для каждого проекта правилами стиля и соглашений.
Платформа для самостоятельного развертывания, которая анализирует проекты на наличие ошибок, уязвимостей и проблем с поддерживаемостью и применяет Quality Gates в CI-пайплайнах.
Набор правил для PHP_CodeSniffer, выявляющих код с возможностями и функциями PHP, несовместимыми с другими версиями.
Docker-образ со множеством PHP-инструментов для статического анализа, тестирования и проверки качества кода — запускайте их без локальной установки.
CLI-инструмент для запуска Python-линтеров и форматтеров, таких как ruff, isort, black, mypy и flake8, прямо в Jupyter Notebooks.