Customizando a
Admin do Django
Gabriel Freitas
• Quem programa em Python?
• Quem programa em Python?
• Quem usa Django?
• Quem programa em Python?
• Quem usa Django?
• Quem começou a usar Django por conta do
Django Admin?
Django Framework
Django Framework
Vantagens
• Fácil Implementação
• Fácil Gerenciamento e Autenticação de Usuários
• Fácil Controle de Níveis de Acesso
• CRUD “pronto”
• e…
“Nova Metologia de
Desenvolvimento”
O que falta?
• Dashboard Completo
• Relatórios (Gráficos e Estatísticas)
• Ações básicas(exportar objetos,
• Multiple Upload
• Ajax
• ...
E agora?
E agora?
Django já fez muito por você
Agora é sua vez de
personalizá-lo
Começando..
• Extenda o ModelAdmin:
Customizações Básicas
• list_display
• list_per_page
• list_filter
• search_fields
• fields
• fieldsets
• form
• Inlines
• Veja mais em:
https://github.com/django/django/blob/master/dj
ango/contrib/admin/options.py
Customizando Templates
• Os templates defaults ficam em:
o contrib/admin/templates/admin
o https://github.com/django/django/tree/master/django/contrib/admin/te
mplates/admin
Customizando Templates
• Você pode sobescrevé-los em:
o templates/admin/myapp
• Os arquivos são:
o app_index.html
o change_form.html
o change_list.html
o delete_confirmation.html
o object_history.html
Customizando Templates
• Ou definir as seguintes variáveis
Crie Funções no Admin
• Você pode definir funcões na class que extende
ao ModelAdmin, e chamá-las no list_display
• Ex: A Função abaixo retorna um thumb da imagem
Crie Funções no Admin
• Você pode definir funcões na class que extende
ao ModelAdmin, e chamá-las no list_display
• Ex: A Função abaixo retorna um thumb da imagem
Defina Valores
• Você pode “setar” valores dos fields usando:
o formfield_for_foreignkey
o formfield_for_manytomany
• Pode pegar variáveis via GET, definir Querysets, etc.
Custom Actions
• Crie actions customizadas
• Ex: Alterar Status de Itens, Enviar por Email, etc.
Custom Actions
• Crie actions customizadas
• Ex: Alterar Status de Itens, Enviar por Email, etc.
Use com moderação
• Quando não usar:
o Alto grau de customização
o Usuário Final
Estude o Código!
https://github.com/django/django/tree/master/djan
go/contrib/admin
Estude o Código!
Sem medo!

Customizando a Admin do django