Repolode
pylint-dev

pylint-dev/pylint-django

Django 모델, 폼, 뷰, 마이그레이션을 이해하도록 Pylint를 확장해 Django 코드의 오탐을 줄이는 플러그인입니다.

스타
623
포크
124
열린 이슈
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가 감지되면 자동으로 활성화됩니다.

선택 사항인 마이그레이션 검사기는 기본값이 있는 새 필드(대규모 테이블에서 속도가 느려질 수 있음)와 역방향 callable이 없는 RunPython 작업을 표시합니다. 기본적으로 비활성화되어 있으며 명시적으로 활성화해야 합니다.

핵심 기능

  • 01Model.objects 및 Views.request와 같은 Django 생성 속성에 대한 오탐 경고를 억제합니다.
  • 02ForeignKey 속성을 해석해 'has no member' 오류가 발생하지 않도록 합니다.
  • 03Model 및 Form 필드 속성의 타입을 추론합니다.
  • 04Model.__unicode__ 메서드를 검증하고 위험한 ModelForm exclude 사용을 표시합니다.
  • 05선택적으로 마이그레이션에서 위험한 필드 기본값과 되돌릴 수 없는 RunPython 작업을 검사합니다.

활용 사례

  • Django 프로젝트의 CI에서 오탐에 묻히지 않고 Pylint 또는 Prospector를 실행합니다.
  • 대규모 코드베이스에서 Django 모델 및 폼의 정적 분석 정확도를 높입니다.
  • 배포 전에 마이그레이션 파일의 성능 또는 되돌리기 가능성 문제를 검토합니다.

빠른 시작

  1. 1

    PyPI에서 플러그인을 설치합니다

    pip install pylint-django
  2. 2

    플러그인과 Django 설정 모듈을 불러온 상태로 pylint를 실행합니다

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

사용 전 알아둘 점

  • 카피레프트 라이선스인 GPL-2.0으로 제공되며, 상업적 이용이 일부 제한될 수 있습니다.
  • Django는 기본으로 설치되지 않으므로 별도로 설정하거나 with-django extra를 통해 설치해야 합니다.
  • Django 설정 모듈을 구성했을 때 가장 잘 작동합니다. 설정 모듈이 없으면 분석 정확도가 떨어집니다.

토픽

자주 묻는 질문

pylint-django은(는) 무엇인가요?
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의 마지막 커밋은 2026년 11월 3일입니다.
pylint-django은(는) 어디에 사용할 수 있나요?
Django 프로젝트의 CI에서 오탐에 묻히지 않고 Pylint 또는 Prospector를 실행합니다. 대규모 코드베이스에서 Django 모델 및 폼의 정적 분석 정확도를 높입니다. 배포 전에 마이그레이션 파일의 성능 또는 되돌리기 가능성 문제를 검토합니다.
pylint-django는 어떻게 설치하나요?
PyPI에서 플러그인을 설치합니다: pip install pylint-django 플러그인과 Django 설정 모듈을 불러온 상태로 pylint를 실행합니다: 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를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트