Painel Administrativo Django
O painel administrativo do Django é uma interface web pré-construída, altamente configurável e segura, que permite gerenciar os dados do banco de dados de um projeto Django. Ele é automaticamente configurado quando você cria um projeto Django e registra seus modelos na aplicação. Permite visualizar, adicionar, editar e excluir registros diretamente no navegador.
Tudo pode ser configurado no arquivo admin.py de seu aplicativo. No entanto, toda e qualquer alteração nesse arquivo terá efeito apenas no painel administrativo do Django, e não no código da aplicação.
Criar um superusuário
Para acessar o painel administrativo: http://localhost:8000/admin/
$ python manage.py createsuperuser
Configurações personalizadas para o Painel Administrativo. Todos os modelos que o programador desejar ter acesso no painel administrativo, deverão estar registrado através do método register.
from django.contrib import admin
# importo meu modelo para dar permissão de acesso administrativo
from .models import Livro, Autor
# Herdo a classe de admin do django para substituir alguns atributos
class LivroAdmin(admin.ModelAdmin):
# Torna visível o campo de slugs (do meu modelo) mesmo que não editável, recebe uma tupla com os campos
readonly_fields = ("slug",)
# Recebe um dicionário com o campo a ser pre-populado e com os campos que irão popula-los (no painel admin) nesse caso como é um campo do tipo slug ele chama automaticamente a função slugify
prepopulated_fields = {"slug": ("title",)}
# Ordena pelo titulo e autor no painel
list_filter = ("title", "author",)
# Mostra essas 3 colunas na lista
list_display = ("title", "author", "rating",)
# Registro o modelo para dar permissão e passa as configurações de minha classe LivroAdmin
admin.site.register(Livro, LivroAdmin)
admin.site.register(Autor)