Repolode
pylint-dev

pylint-dev/pylint-django

Um plugin do Pylint que adiciona suporte a models, forms, views e migrations do Django para reduzir falsos positivos no código Django.

Estrelas
623
Forks
124
Issues abertas
76
Último commit
há 4 dias

O que é?

pylint-django é um plugin para o Pylint, o analisador estático de Python. Por padrão, o Pylint não entende a mágica de runtime do Django, então gera avisos para atributos como Model.objects ou Views.request e para campos ForeignKey que não consegue resolver. Este plugin adiciona inferência com conhecimento do Django, eliminando esses falsos positivos e permitindo identificar os tipos dos atributos em campos de models e forms.

O plugin é carregado com a opção --load-plugins do Pylint. Para obter resultados precisos, ele precisa do módulo de configurações do Django, informado pela variável de ambiente DJANGO_SETTINGS_MODULE ou pela flag --django-settings-module, para resolver os apps instalados e os models referenciados por string. Sem as configurações, ele usa os valores padrão e a inferência é menos precisa. O plugin também vem incluído no linter Prospector e é ativado automaticamente quando o Django é detectado.

Um verificador opcional de migrations sinaliza campos recém-adicionados com valores padrão, que podem deixar operações lentas em tabelas grandes, e operações RunPython sem uma função reversa. Ele fica desativado por padrão e precisa ser habilitado explicitamente.

Recursos principais

  • 01Suprime avisos falsos para atributos gerados pelo Django, como Model.objects e Views.request.
  • 02Resolve atributos ForeignKey para que não gerem mais erros de 'has no member'.
  • 03Infere os tipos dos atributos de campos Model e Form.
  • 04Valida métodos Model.__unicode__ e sinaliza o uso perigoso de exclude em ModelForm.
  • 05Verifica, opcionalmente, migrations em busca de valores padrão arriscados para campos e operações RunPython sem reversão.

Casos de uso

  • Executar Pylint ou Prospector no CI de um projeto Django sem ser inundado por falsos positivos.
  • Melhorar a precisão da análise estática de models e forms do Django em bases de código grandes.
  • Revisar arquivos de migration em busca de problemas de desempenho ou reversibilidade antes do deploy.

Início rápido

  1. 1

    Instale o plugin pelo PyPI

    pip install pylint-django
  2. 2

    Execute o pylint com o plugin carregado e o módulo de configurações do Django

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

Antes de usar

  • É licenciado sob a GPL-2.0, uma licença copyleft que pode restringir alguns usos comerciais.
  • O Django não é instalado por padrão e deve ser configurado separadamente ou instalado pelo extra with-django.
  • Funciona melhor com um módulo de configurações do Django configurado. Sem ele, a análise é menos precisa.

Tópicos

Perguntas frequentes

O que é pylint-django?
Um plugin do Pylint que adiciona suporte a models, forms, views e migrations do Django para reduzir falsos positivos no código Django. pylint-django é um plugin para o Pylint, o analisador estático de Python. Por padrão, o Pylint não entende a mágica de runtime do Django, então gera avisos para atributos como Model.objects ou Views.request e para campos ForeignKey que não consegue resolver. Este plugin adiciona inferência com conhecimento do Django, eliminando esses falsos positivos e permitindo identificar os tipos dos atributos em campos de models e forms.
pylint-django é gratuito? Qual é a licença?
pylint-django é open source sob a licença GPL-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
pylint-django ainda é mantido?
Manutenção ativa. O último commit de pylint-django foi em 3 de nov. de 2026.
Para que posso usar pylint-django?
Executar Pylint ou Prospector no CI de um projeto Django sem ser inundado por falsos positivos. Melhorar a precisão da análise estática de models e forms do Django em bases de código grandes. Revisar arquivos de migration em busca de problemas de desempenho ou reversibilidade antes do deploy.
Como instalar pylint-django?
Instale o plugin pelo PyPI: pip install pylint-django Execute o pylint com o plugin carregado e o módulo de configurações do Django: pylint --load-plugins pylint_django --django-settings-module=your.app.settings [..other options..] <path_to_your_sources>
Onde consigo pylint-django?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pylint-dev/pylint-django

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados