OUJOOD.COM
C'est sans doute l'un des aspects les plus impressionnants de Django : son interface d'administration. Pour beaucoup de développeurs, c'est le "coup de foudre". Pourquoi ? Parce qu'en enregistrant simplement un modèle dans admin.py, vous obtenez instantanément un back-office professionnel pour gérer vos données.
Oubliez la création manuelle de formulaires de saisie ou de tableaux de bord complexes en HTML/JS. Django s'occupe de tout : listes paginées, filtres de recherche, modifications rapides et gestion des droits d'accès. Tout est déjà là, activé par défaut via l'URL /admin/.
Étape 1 : Créer un super-utilisateur
L'administration n'est pas ouverte à tout le monde. Pour y entrer, vous avez besoin d'un compte "Superuser", un administrateur avec tous les pouvoirs. Pour cela, on utilise le terminal :
python manage.py createsuperuser
À ce stade, Django va vous poser quelques questions. Suivez simplement les instructions :
Username (leave blank to use 'admin'): admin Email address: admin@monsite.com Password: Password (again): Superuser created successfully.
Petit détail important : quand vous tapez votre mot de passe, rien ne s'affiche à l'écran. C'est une sécurité standard sous Linux/Python, ne paniquez pas et continuez de taper.
Étape 2 : Accéder au panneau de contrôle
Une fois le serveur lancé avec python manage.py runserver, rendez-vous sur http://127.0.0.1:8000/admin/. Connectez-vous avec vos identifiants et vous arriverez sur le tableau de bord.
Au début, vous ne verrez que les sections liées à l'authentification (utilisateurs et groupes). C'est normal : vos propres modèles sont encore "invisibles" pour l'administration. Il faut les déclarer.
Étape 3 : Enregistrer vos modèles
C'est ici que la magie opère. Allez dans le fichier admin.py de votre application (par exemple membres/admin.py). Ce fichier est vide par défaut, c'est à vous de lui dire quels modèles afficher.
from django.contrib import admin
from .models import Membres
# On dit à Django : "Affiche le modèle Membres dans l'admin"
admin.site.register(Membres)
Actualisez votre page /admin/ et voilà : une section Membres est apparue. Vous pouvez désormais ajouter, modifier ou supprimer des membres sans toucher à une seule ligne de code Python ou SQL.
Si vous avez plusieurs modèles, vous les enregistrez simplement les uns après les autres :
from django.contrib import admin from .models import Membres, Categorie, Article admin.site.register(Membres) admin.site.register(Categorie) admin.site.register(Article)
Améliorer l'affichage (Parce que le défaut est moche)
Par défaut, Django affiche vos objets sous la forme Membres object (1). Ce n'est pas très parlant. On a deux solutions pour rendre ça propre.
1. La méthode __str__ (L'approche globale)
En ajoutant la méthode __str__ dans votre modèle, vous définissez comment l'objet doit être représenté textuellement partout dans Django (admin, shell, templates).
from django.db import models
class Membres(models.Model):
prenom = models.CharField(max_length=255)
nom = models.CharField(max_length=255)
mail = models.CharField(max_length=255)
def __str__(self):
# On affiche le nom complet au lieu de "Membres object"
return f"{self.prenom} {self.nom}"
2. list_display (L'approche spécifique à l'admin)
Si vous voulez voir plusieurs colonnes (comme le mail ou la date d'inscription) directement dans la liste, utilisez une classe ModelAdmin dans admin.py :
from django.contrib import admin
from .models import Membres
class MembresAdmin(admin.ModelAdmin):
# On définit les colonnes à afficher dans le tableau
list_display = ('prenom', 'nom', 'mail')
admin.site.register(Membres, MembresAdmin)
Désormais, votre liste est un véritable tableau de données, triable d'un simple clic sur les en-têtes de colonnes.
Par carabde | Mis à jour le 08 mai 2026