Guia Completo do Módulo Admin no Django
Francisco Júnior
Posted on October 12, 2023
O módulo Admin do Django é uma das características mais poderosas do framework, pois fornece uma interface de administração pronta para uso, permitindo gerenciar dados do aplicativo de forma eficaz. Neste guia completo, exploraremos o módulo Admin do Django, como configurá-lo e forneceremos exemplos práticos para aproveitar ao máximo essa funcionalidade.
O que é o Módulo Admin no Django?
O módulo Admin do Django é uma interface de administração automática gerada pelo framework. Ele fornece uma maneira conveniente de gerenciar os dados do aplicativo sem a necessidade de escrever código adicional. Com o módulo Admin, você pode criar, ler, atualizar e excluir (CRUD) registros de banco de dados diretamente no navegador.
Configuração Básica
Para começar a usar o módulo Admin, siga estas etapas:
1. Registrar os Modelos
Em seu arquivo admin.py
, registre os modelos que deseja gerenciar no módulo Admin. Por exemplo, se você tiver um modelo chamado Produto
, você pode registrá-lo assim:
# admin.py
from django.contrib import admin
from .models import Produto
admin.site.register(Produto)
2. Criar Superusuário
Antes de acessar o módulo Admin, você precisará criar um superusuário que tenha permissões de administrador. Para fazer isso, execute o seguinte comando:
python manage.py createsuperuser
Siga as instruções para criar um superusuário com nome de usuário, e-mail e senha.
3. Acesse o Módulo Admin
Acesse o módulo Admin em seu navegador acessando http://seusite.com/admin/
e faça login com as credenciais do superusuário criado anteriormente.
Principais Recursos do Módulo Admin
O módulo Admin oferece vários recursos que facilitam a administração dos dados do aplicativo:
1. Lista de Objetos
O módulo Admin lista todos os objetos de um modelo, permitindo a edição e exclusão diretas. Você pode personalizar a lista definindo list_display
no arquivo admin.py
:
# admin.py
class ProdutoAdmin(admin.ModelAdmin):
list_display = ('nome', 'preco', 'estoque')
admin.site.register(Produto, ProdutoAdmin)
2. Formulários de Edição
O módulo Admin gera automaticamente formulários de edição com base nos modelos. Você pode personalizar esses formulários criando classes de administração personalizadas e definindo fields
ou fieldsets
:
# admin.py
class ProdutoAdmin(admin.ModelAdmin):
fields = ('nome', 'preco', 'estoque')
# ou
fieldsets = (
(None, {
'fields': ('nome', 'preco')
}),
('Estoque', {
'fields': ('estoque', 'disponivel')
}),
)
admin.site.register(Produto, ProdutoAdmin)
3. Filtros e Pesquisa
O módulo Admin permite adicionar filtros a campos de modelo para facilitar a pesquisa e a navegação. Para adicionar filtros, defina list_filter
no arquivo admin.py
:
# admin.py
class ProdutoAdmin(admin.ModelAdmin):
list_filter = ('categoria', 'disponivel')
admin.site.register(Produto, ProdutoAdmin)
4. Ações em Lote
O módulo Admin permite executar ações em lote em objetos selecionados. Você pode personalizar ações em lote criando funções no arquivo admin.py
:
# admin.py
class ProdutoAdmin(admin.ModelAdmin):
actions = ['marcar_como_disponivel']
def marcar_como_disponivel(self, request, queryset):
queryset.update(disponivel=True)
admin.site.register(Produto, ProdutoAdmin)
5. Personalização de Visualização
Você pode personalizar a visualização de modelos no módulo Admin usando a função __str__
nos modelos ou definindo list_display
para exibir campos personalizados:
# models.py
class Produto(models.Model):
nome = models.CharField(max_length=100)
preco = models.DecimalField(max_digits=10, decimal_places=2)
estoque = models.PositiveIntegerField()
disponivel = models.BooleanField(default=True)
def __str__(self):
return self.nome
# admin.py
class ProdutoAdmin(admin.ModelAdmin):
list_display = ('nome', 'preco', 'estoque', 'disponivel')
admin.site.register(Produto, ProdutoAdmin)
Conclusão
O módulo Admin do Django é uma ferramenta poderosa para gerenciar os dados do aplicativo, facilitando a criação, edição, pesquisa e exclusão de registros. Com sua configuração básica e recursos de personalização, você pode criar rapidamente um painel de administração personalizado para atender às necessidades específicas do seu projeto. Certifique-se de explorar a documentação do Django para mais detalhes sobre como personalizar o módulo Admin para atender às necessidades do seu aplicativo.
Posted on October 12, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.