SPAM
Proposition technique : AdminPages comme entités de première classe dans django-admin
Problème technique identifié
django.contrib.admin est architecturé autour du concept de ModelAdmin, ce qui rend l’enregistrement de fonctionnalités non liées à des modèles artificiel ou détourné (vues ad hoc, faux modèles, applications techniques).
Les solutions existantes (ex. AdminPlus) permettent d’ajouter des vues personnalisées, mais elles restent :
- rattachées à une application,
- non équivalentes à
ModelAdmin,
- limitées pour la construction de véritables tableaux de bord.
Objectif
Introduire le concept d’AdminPage comme entité de première classe dans l’admin Django, indépendante de tout modèle.
Pseudo-API proposée
from django.contrib.admin import AdminPage, register_page
from django.http import HttpRequest
from django.template.response import TemplateResponse
class AnalyticsPage(AdminPage):
title = "Analytics"
section = "Pages"
slug = "analytics"
icon = "chart-line"
permission_required = "reports.view_analytics"
def has_permission(self, request: HttpRequest) -> bool:
return request.user.has_perm(self.permission_required)
def get_context_data(self, request):
return {
"total_users": 1240,
"active_today": 87,
}
def view(self, request: HttpRequest):
return TemplateResponse(
request,
"admin/analytics.html",
self.get_context_data(request),
)
register_page(AnalyticsPage)
Comportement attendu
- Enregistrement global via
AdminSite, sans dépendance à une application
- Apparition dans l’index de l’admin sous une rubrique dédiée ou par défaut
- URLs internes de type
/admin/pages/<slug>/
- Intégration native au système de permissions Django
- Aucune dépendance à un modèle ou à des permissions factices
Cas d’usage
- Dashboards métier
- Pages de monitoring
- Interfaces internes non orientées données
- Back-office applicatif pour petites équipes
Bénéfices
- Réduction du besoin de dashboards externes
- Réutilisation complète de l’authentification, des permissions et de l’UI admin
- Extension naturelle de django-admin sans rupture de compatibilité
- Alternative légère aux solutions de back-office parallèles
Problem
Proposition technique : AdminPages comme entités de première classe dans django-admin
Problème technique identifié
django.contrib.admin est architecturé autour du concept de ModelAdmin, ce qui rend l’enregistrement de fonctionnalités non liées à des modèles artificiel ou détourné (vues ad hoc, faux modèles, applications techniques).
Les solutions existantes (ex. AdminPlus) permettent d’ajouter des vues personnalisées, mais elles restent :
- rattachées à une application,
- non équivalentes à
ModelAdmin,
- limitées pour la construction de véritables tableaux de bord.
Objectif
Introduire le concept d’AdminPage comme entité de première classe dans l’admin Django, indépendante de tout modèle.
Pseudo-API proposée
from django.contrib.admin import AdminPage, register_page
from django.http import HttpRequest
from django.template.response import TemplateResponse
class AnalyticsPage(AdminPage):
title = "Analytics"
section = "Pages"
slug = "analytics"
icon = "chart-line"
permission_required = "reports.view_analytics"
def has_permission(self, request: HttpRequest) -> bool:
return request.user.has_perm(self.permission_required)
def get_context_data(self, request):
return {
"total_users": 1240,
"active_today": 87,
}
def view(self, request: HttpRequest):
return TemplateResponse(
request,
"admin/analytics.html",
self.get_context_data(request),
)
register_page(AnalyticsPage)
Comportement attendu
- Enregistrement global via
AdminSite, sans dépendance à une application
- Apparition dans l’index de l’admin sous une rubrique dédiée ou par défaut
- URLs internes de type
/admin/pages/<slug>/
- Intégration native au système de permissions Django
- Aucune dépendance à un modèle ou à des permissions factices
Cas d’usage
- Dashboards métier
- Pages de monitoring
- Interfaces internes non orientées données
- Back-office applicatif pour petites équipes
Bénéfices
- Réduction du besoin de dashboards externes
- Réutilisation complète de l’authentification, des permissions et de l’UI admin
- Extension naturelle de django-admin sans rupture de compatibilité
- Alternative légère aux solutions de back-office parallèles
Request or proposal
request
Additional Details
No response
Implementation Suggestions
No response
Code of Conduct
Feature Description
SPAM
Proposition technique : AdminPages comme entités de première classe dans django-admin
Problème technique identifié
django.contrib.adminest architecturé autour du concept de ModelAdmin, ce qui rend l’enregistrement de fonctionnalités non liées à des modèles artificiel ou détourné (vues ad hoc, faux modèles, applications techniques).Les solutions existantes (ex. AdminPlus) permettent d’ajouter des vues personnalisées, mais elles restent :
ModelAdmin,Objectif
Introduire le concept d’AdminPage comme entité de première classe dans l’admin Django, indépendante de tout modèle.
Pseudo-API proposée
Comportement attendu
AdminSite, sans dépendance à une application/admin/pages/<slug>/Cas d’usage
Bénéfices
Problem
Proposition technique : AdminPages comme entités de première classe dans django-admin
Problème technique identifié
django.contrib.adminest architecturé autour du concept de ModelAdmin, ce qui rend l’enregistrement de fonctionnalités non liées à des modèles artificiel ou détourné (vues ad hoc, faux modèles, applications techniques).Les solutions existantes (ex. AdminPlus) permettent d’ajouter des vues personnalisées, mais elles restent :
ModelAdmin,Objectif
Introduire le concept d’AdminPage comme entité de première classe dans l’admin Django, indépendante de tout modèle.
Pseudo-API proposée
Comportement attendu
AdminSite, sans dépendance à une application/admin/pages/<slug>/Cas d’usage
Bénéfices
Request or proposal
request
Additional Details
No response
Implementation Suggestions
No response