---
title: Django
author: Steve Kossouho
---

# L'interface d'administration de Django

----

## Présentation de l'interface d'administration

Ici, on navigue dans l'interface d'administration de Django.
Pour y accéder, il nous faut au moins un super-utilisateur dans notre base
de données, que l'on peut créer en ligne de commande :

```bash=
./manage.py migrate  # s'assurer qu'on a tout à jour
./manage.py createsuperuser
```

----

## Configuration de l'administration

Lorsque l'on crée nos propres modèles, par défaut, on ne les voit pas s'afficher lorsque l'on navigue dans l'interface d'administration.
Heureusement, il est possible de configurer celle-ci afin qu'elle nous permette de gérer les données de nos modèles. (voir [documentation officielle](https://docs.djangoproject.com/fr/3.2/ref/contrib/admin/#modeladmin-objects))

----

La façon la plus simple d'enregistrer un modèle pour qu'il soit affiché est d'aller dans le fichier `admin.py` de notre application et d'y ajouter :

![Ajouter un modèle à l'admin](assets/images/admin-register-simple.png)

----

Cette méthode ajoute effectivement notre modèle à l'interface, mais l'affichage est plutôt rudimentaire. Il est possible de le personnaliser en s'y prenant autrement; on crée une classe de configuration de l'admin héritant de `admin.ModelAdmin`.

----

![Ajout d'un modèle à l'admin (recommandé)](assets/images/admin-register-recommended.png)

----

Vous pouvez personnaliser votre page de liste de modèle dans l'admin en écrivant votre classe `ModelAdmin` et en y ajoutant des attributs documentés sur [le site officiel Django](https://docs.djangoproject.com/en/dev/ref/contrib/admin/)

----

### Pour aller plus loin

La [documentation officielle de Django](https://docs.djangoproject.com/fr/3.2/ref/contrib/admin/actions/#admin-actions) montre comment définir ce que l'on appelle des actions, c'est-à-dire des fonctions qui peuvent être exécutées sur des instances de votre modèle via l'interface d'administration.
