Fala Isaac, como vai?
Pergunta sensacional. Vamos lá: é possível sim e vou deixar o passo a passo:
- Você pode configurar o Admin de cada
app
da seguinte forma:
from django.contrib.admin import AdminSite
from financeiro.models import Financeiro
class FinanceiroAdminSite(AdminSite):
site_header = "Admin do Financeiro"
site_title = "O portal de admin do Financeiro"
index_title = "Seja bem vindo ao Admin Financeiro"
financeiro_admin = FinanceiroAdminSite(name='financeiro_admin')
# registrando os modelos neste Admin
financeiro_admin.register(Financeiro)
- Supondo que eu tenha outro app com seu prórpio admin.py, posso registrar da mesma forma:
from django.contrib.admin import AdminSite
from eventos.models import Evento
class EventosAdminSite(AdminSite):
site_header = "Admin de Eventos"
site_title = "O portal de admin de Eventos"
index_title = "Seja bem vindo ao Admin de Eventos"
eventos_admin = EventosAdminSite(name='eventos_admin')
# registrando os modelos neste Admin
eventos_admin.register(Evento)
- A única configuração necessária seria adicionar cada admin no
urls.py
do projeto, como ilustra o código abaixo:
from django.contrib import admin
from django.urls import path
from eventos.admin import eventos_admin
from financeiro.admin import financeiro_admin
urlpatterns = [
path('admin/', admin.site.urls),
path('eventos-admin/', eventos_admin.urls),
path('financeiro-admin/', financeiro_admin.urls),
]
Criei um repositório com o exemplo completo como referência. Espero ter ajudado. Bons estudos e sucesso Isaac!
: )