Status Atual¶
✅ View personalizada criada (admin_views.py)
✅ Template customizado (admin/index.html)
✅ Cache de 5 minutos configurado
✅ Arquivo de registro criado (admin.py)
Como Ativar¶
Opção 1: Automática (Recomendado)¶
O arquivo admin.py já está criado. Você só precisa garantir que ele seja importado. Adicione ao arquivo __init__.py do app:
# src/dsgovbr/__init__.py
default_app_config = 'dsgovbr.apps.DSGovBRConfig'
# Importar admin para registrar a view customizada
from . import admin # noqa
Opção 2: Manual (via URLs)¶
Se preferir registrar via URLs, edite o urls.py principal:
from dsgovbr.admin_views import admin_index_dashboard
urlpatterns = [
# ... suas urls
path('admin/', admin.site.urls),
]
# ANTES do admin.site.urls, substitua a view padrão:
admin.site.index = admin_index_dashboard
Opção 3: Via Settings¶
Adicione ao settings.py:
E em apps.py:
class DSGovBRConfig(AppConfig):
name = "dsgovbr"
verbose_name = "DSGovBR"
icon = "fa fa-edit"
def ready(self):
# Registrar dashboard customizado
from django.contrib import admin
from .admin_views import admin_index_dashboard
admin.site.index = admin_index_dashboard
Dados Exibidos¶
Cards¶
-
Ambientes de Integração
- Total de ambientes
- Ativos
- Com erros (expressão seletora inválida)
-
Solicitações de Integração
- Últimas 24 horas
- Sucesso
- Falhas
- Processando
-
Coortes
- Total de coortes
- Ativas
- Inativas
- Vínculos de enrolment
-
Papéis
- Total de papéis
- Ativos
- Inativos
-
Usuários e Grupos
- Total de usuários
- Usuários ativos
- Total de grupos
-
Taxa de Sucesso
- Percentual de integrações bem-sucedidas
- Total de solicitações processadas
-
Ações Rápidas
- Links diretos para administração
Cache¶
- Duração: 5 minutos (300 segundos)
- Implementação:
@cache_page(60 * 5) - Benefício: Reduz carga no banco de dados durante picos
Limpar Cache Manualmente¶
Verificar se está funcionando¶
- Acesse
/admin/ - Você deverá ver o novo dashboard
- Os dados serão cacheados por 5 minutos
- Após 5 minutos, os dados são recarregados do banco
Troubleshooting¶
Dashboard não aparece?¶
- Verifique se
admin.pyestá sendo importado - Confira se a view está registrada:
print(admin.site.index)
Dados não atualizam?¶
- O cache está funcionando (aguarde 5 minutos ou limpe)
- Verifique se há erros no console Django
Erro ao carregar modelos?¶
- Verifique se os apps
integradorecoorteestão emINSTALLED_APPS - Confira permissões de staff_member
Arquivo de Referência¶
Estrutura criada:
dsgovbr/
├── admin.py ← Novo (registra dashboard)
├── admin_views.py ← Novo (lógica do dashboard)
├── apps.py ← Existente
├── context_processors.py
├── templates/
│ └── admin/
│ └── index.html ← Atualizado (novo design)
└── __init__.py ← Editar (importar admin)
Pronto! Seus dados estão sendo apresentados com cache de 5 minutos. 🎉