O Admin
Personalize a interface de administração automática do Django.
Receita
Cartão de referência rápida - pronto para copiar e colar.
from django.contrib import admin
from .models import Order
@admin.register(Order)
class OrderAdmin(admin.ModelAdmin):
list_display = ("id", "status")
search_fields = ("id",)Quando usar isso:
- Consoles de operações internas
- CRUD apenas para funcionários
- Inspeção rápida de modelos
Exemplo de Trabalho
class OrderAdmin(admin.ModelAdmin):
list_filter = ("status",)
readonly_fields = ("created_at",)O que isso demonstra:
list_displaye filtros- Campos somente leitura
search_fields
Mergulho Profundo
Como Funciona
- O Admin gera automaticamente formulários a partir de modelos.
- Registre com decoradores ou
admin.site.register. - Bloqueie com sinalizadores de staff e 2FA no proxy.
Armadilhas
- Validação de limite ignorada - Dados inválidos chegam às camadas de persistência. Correção: Valide com Pydantic ou formulários do framework na borda.
- Vazamento de traces de pilha - Clientes veem erros internos. Correção: Mapeie exceções para respostas HTTP estáveis.
- Bloqueio de loops de eventos assíncronos - Workers param sob carga concorrente. Correção: Use drivers assíncronos ou wrappers de threadpool.
- Segredos no controle de versão - Credenciais vazam via histórico do git. Correção: Carregue segredos de variáveis de ambiente ou um vault em tempo de execução.
- Falta de observabilidade - Incidentes são difíceis de depurar. Correção: Adicione logs estruturados, métricas e IDs de requisição.
Alternativas
| Alternativa | Usar Quando | Não Usar Quando |
|---|---|---|
| Framework alternativo neste cookbook | Padrão da equipe ou monólito existente | API Greenfield com restrições diferentes |
| BaaS Gerenciado | Apenas CRUD MVP | Autenticação, fluxos de trabalho ou necessidades de conformidade personalizadas |
| gRPC | RPC interno de alto desempenho | Clientes HTTP públicos e acesso ao navegador |
FAQs
Quando devo adotar o admin do Django?
Use-o quando os padrões e trade-offs desta página corresponderem à sua API ou limite de dados.
Qual é o principal erro de produção com o admin do Django?
Ignorar validação, timeouts ou contratos de erro explícitos na borda HTTP.
Como testar o admin do Django?
Use o cliente de teste do framework, substitua dependências e afirme o status mais a forma do JSON.
O admin do Django funciona com Python 3.14?
Sim - os exemplos visam Python 3.14 com versões de framework fixadas do rodapé da pilha.
Como o admin do Django se relaciona com o Pydantic 2?
Valide e serialize nas bordas; mantenha os serviços funcionando com objetos de domínio tipados.
Síncrono ou assíncrono?
Prefira rotas assíncronas quando o I/O domina; mantenha o trabalho de CPU pequeno ou descarregue para workers.
Onde a lógica de negócios deve viver?
Handlers finos; serviços possuem regras; repositórios possuem consultas.
Como documentar APIs?
Publique documentação OpenAPI ou de esquema que corresponda aos modelos de resposta no código.
Como lidar com versionamento?
Versionamento explícito de URL ou cabeçalho com janelas de depreciação - evite quebras silenciosas.
O que devo ler a seguir?
Siga os links Relacionados para a próxima camada de profundidade nesta seção.
Como me manter seguro?
Autentique chamadores, autorize por recurso, limite a taxa e nunca registre segredos.
Primeiro passo de performance?
Meça a latência do DB e upstream antes de trocar de framework.
Relacionado
- Noções Básicas de Django - Projetos e views
- Modelos e o ORM - Camada de dados
- Django REST Framework - APIs JSON
- Escalabilidade e Implantação - Produção
Versões da Pilha: Esta página foi escrita para Python 3.14.0 (3.14 estável, 3.13 de manutenção), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+ e uv 0.6+.