Package Django réutilisable pour personnaliser l'interface d'administration avec graphiques dynamiques, grilles de données et thèmes modernes
Project description
Admin Custom - Personnalisation Complète de l'Admin Django
📋 À propos du projet
Admin Custom est un package Django réutilisable qui transforme l'interface d'administration Django standard en une expérience moderne, personnalisable et professionnelle. Ce projet répond au besoin de créer une interface admin sur-mesure sans avoir à réécrire tout le système d'administration Django.
🎯 Pourquoi ce projet ?
L'administration Django par défaut, bien que fonctionnelle, présente plusieurs limitations :
- Design obsolète : L'interface standard manque de modernité et de personnalisation
- Configuration manuelle fastidieuse : Chaque modèle doit être enregistré manuellement
- Manque de flexibilité : Difficile d'ajouter des fonctionnalités personnalisées (graphiques, dashboards)
- Pas de système de thèmes : Impossible de changer l'apparence sans modifier le code
- Structure non réutilisable : Les personnalisations sont liées à un projet spécifique
Admin Custom résout tous ces problèmes en offrant :
✅ Auto-découverte automatique : Tous vos modèles sont détectés et enregistrés automatiquement ✅ 7 thèmes personnalisables : Choisissez parmi plusieurs palettes de couleurs sobres et professionnelles ✅ Dashboard interactif : Graphiques dynamiques et grilles de données configurables ✅ Package réutilisable : Installez-le dans n'importe quel projet Django ✅ Navigation moderne : Interface intuitive avec indicateurs visuels ✅ Effets visuels avancés : Glassmorphism et animations fluides
🚀 Installation et lancement
Prérequis
- Python 3.8 ou supérieur
- Django 4.0 ou supérieur
- pip (gestionnaire de paquets Python)
Installation
-
Cloner le projet (si vous travaillez depuis le dépôt Git)
-
Créer un environnement virtuel (recommandé)
python -m venv venv
-
Activer l'environnement virtuel
Sur Windows :
venv\Scripts\activate
Sur Linux/Mac :
source venv/bin/activate
-
Installer les dépendances
pip install -r requirements.txt
Si le fichier
requirements.txtn'existe pas, installez Django :pip install django
-
Configurer la base de données
python manage.py migrate
-
Créer un superutilisateur (pour accéder à l'admin)
python manage.py createsuperuser
Suivez les instructions pour créer un compte administrateur.
-
Lancer le serveur de développement
python manage.py runserver
-
Accéder à l'interface admin
Ouvrez votre navigateur et allez à :
http://127.0.0.1:8000/admin/Connectez-vous avec les identifiants du superutilisateur créé à l'étape 6.
🎨 Fonctionnalités principales
Auto-découverte des modèles
Aucun enregistrement manuel nécessaire ! Tous vos modèles sont automatiquement détectés et enregistrés dans l'admin personnalisé. Il suffit de créer vos fichiers admin.py normalement avec @admin.register(), et le système fait le reste.
Système de thèmes
7 thèmes disponibles avec des palettes de couleurs sobres et professionnelles :
- Default : Gris-bleu sobre et classique
- Dark : Mode sombre moderne
- Liquid Glass : Effets glassmorphism élégants
- Nostalgie : Style rétro discret
- Océan : Palette bleu-gris apaisante
- Sunset : Tons beige-rose chaleureux
- Forêt : Vert-gris naturel
Chaque thème adapte automatiquement :
- Les couleurs de fond et de texte
- La navigation
- Les cartes et modules
- Les boutons et formulaires
- Les tableaux
Dashboard interactif
- Graphiques dynamiques : Visualisez vos données avec des graphiques configurables
- Grilles de données : Créez des tableaux personnalisés avec filtres et recherche
- Statistiques en temps réel : Suivez les métriques importantes de votre application
Navigation personnalisée
- Barre de navigation moderne avec indicateurs visuels
- Liens actifs mis en évidence
- Transitions fluides entre les pages
- Responsive et adaptatif
📁 Structure du projet
AGILE Méth/
├── admin_custom/ # Package principal
│ ├── static/ # Fichiers statiques (CSS, JS, images)
│ ├── templates/ # Templates personnalisés
│ ├── admin_site.py # CustomAdminSite
│ ├── autodiscover.py # Système d'auto-découverte
│ └── ...
├── sandbox/ # Projet Django de démonstration
│ ├── settings.py
│ ├── urls.py
│ └── ...
├── sales/ # Exemple d'app avec modèles
├── catalog/ # Exemple d'app avec modèles
├── accounts/ # Exemple d'app avec modèles
├── manage.py
├── requirements.txt
└── README.md
🔧 Configuration
Utilisation dans votre projet
-
Ajouter
admin_customàINSTALLED_APPSdanssettings.py -
Configurer les URLs dans
urls.py:from admin_custom.admin_site import custom_admin_site from admin_custom.autodiscover import autodiscover_models # Auto-découvrir tous les modèles autodiscover_models(custom_admin_site, exclude_apps=['admin_custom']) urlpatterns = [ path('admin/', custom_admin_site.urls), ]
-
C'est tout ! Vos modèles sont automatiquement détectés.
Personnalisation avancée
Consultez le fichier admin_custom/AUTODISCOVERY.md pour plus de détails sur :
- L'exclusion d'apps ou de modèles spécifiques
- La configuration via
settings.py - Les cas d'usage avancés
📚 Documentation
- AUTODISCOVERY.md : Documentation complète du système d'auto-découverte
- Code source : Commentaires détaillés dans tous les fichiers Python
🛠️ Commandes utiles
Développement
# Lancer le serveur
python manage.py runserver
# Créer des migrations
python manage.py makemigrations
# Appliquer les migrations
python manage.py migrate
# Créer un superutilisateur
python manage.py createsuperuser
# Accéder au shell Django
python manage.py shell
# Collecter les fichiers statiques (production)
python manage.py collectstatic
Nettoyage de la base de données
# Nettoyer les commandes tout en gardant des dates variées
python manage.py cleanup_orders --keep 50
🎯 Cas d'usage
Ce package est idéal pour :
- Applications métier : Interface admin professionnelle pour vos clients
- Projets internes : Dashboard moderne pour la gestion de données
- Développement rapide : Pas besoin de configurer chaque modèle manuellement
- Projets réutilisables : Installez le package dans plusieurs projets
🔒 Sécurité
- Toutes les fonctionnalités respectent le système de permissions Django
- Les utilisateurs doivent être authentifiés pour accéder à l'admin
- Les permissions par modèle sont préservées
📝 Notes importantes
- Ce projet est en développement actif
- Les thèmes peuvent être personnalisés via les variables CSS
- L'auto-découverte fonctionne avec tous les modèles Django standards
- Compatible avec Django 4.0+
🤝 Contribution
Ce projet est développé dans le cadre d'une étude sur les méthodes agiles et la personnalisation de l'administration Django.
📄 Licence
Ce projet est fourni à des fins éducatives et de démonstration.
Développé avec ❤️ pour améliorer l'expérience d'administration Django
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file personnalisation_admin_django_iit-0.3.0.tar.gz.
File metadata
- Download URL: personnalisation_admin_django_iit-0.3.0.tar.gz
- Upload date:
- Size: 5.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.3 cpython/3.12.5 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
414a311fa4bc19169fdccd38400f4e1d3d09464bf7da3404150506b9b0016aac
|
|
| MD5 |
4bcf162d54058ee7bff10272706028a2
|
|
| BLAKE2b-256 |
7394feaf5ef3c4044bff4e66502e767ef870ac571bcbd313a52692dc5d2adf18
|
File details
Details for the file personnalisation_admin_django_iit-0.3.0-py3-none-any.whl.
File metadata
- Download URL: personnalisation_admin_django_iit-0.3.0-py3-none-any.whl
- Upload date:
- Size: 19.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.3 cpython/3.12.5 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b189e87051f3e2949910d384f1ce3cd5ac2b347ac71ca434f1852d9dc9eb8157
|
|
| MD5 |
124423fabe45c9bbc82205cb26b86eea
|
|
| BLAKE2b-256 |
3effff472c7f5f57c76dc0f303f67d490e24c989665634ebe44d88c9b9a2a546
|