--- 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.