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/

bash
$ 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.

admin.py
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)