Ferramenta de análise estática que encontra funções, classes, variáveis e imports não utilizados, além de código inalcançável em projetos Python.
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
Instale o plugin pelo PyPI
pip install pylint-django - 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
Linter que aplica padrões e convenções de estilo em Swift, com mais de 200 regras configuráveis por projeto.
Plataforma autogerenciada de qualidade e segurança de código que analisa projetos em busca de bugs, vulnerabilidades e problemas de manutenibilidade, com Quality Gates para pipelines de CI.
Conjunto de regras para o PHP_CodeSniffer que identifica código com recursos ou funções do PHP incompatíveis com outras versões.
Uma imagem Docker com várias ferramentas de análise estática, testes e qualidade de código para PHP, sem precisar instalar essas ferramentas localmente.
Ferramenta de CLI que executa linters e formatadores Python, como ruff, isort, black, mypy e flake8, diretamente em Jupyter Notebooks.