- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Par défaut, dans l'interface d'administration, vous allez avoir uniquement ce qui est représenté dans la chaîne de caractère de vos modèles qui est affichée.Donc ce qu'on avait par exemple dans notre modèle ici, dans la méthode String, c'est ça qui va être retourné dans l'interface et vous n'aurez pas d'autres informations.
00:00:16 :Pour rajouter des informations, par exemple dans le cas des articles, pour vérifier quel est l'auteur de l'article ou si l'article est publié,vous allez pouvoir le faire directement dans le fichier admin.py à l'intérieur de la classe que l'on a définie pour enregistrer notre modèle blog post.
00:00:42 :Donc par exemple, pour notre blog post ici, on pourrait vouloir afficher le slug et ce que l'article est publié et également l'auteur.Donc je vais prendre ces trois éléments ici et je vais les mettre à l'intérieur du tuple qui correspond à ListDisplay ici.
00:00:55 :Donc j'ouvre le tuple et je vais mettre en chaîne de caractère ces trois champs ici.Donc je mets des guillemets autour de ces trois champs et je sépare par une virgule puisqu'il s'agit bien d'un tuple.
00:01:06 :Donc on a le slug, Published et Author qui sont dans ListDisplay.Si je reviens pour actualiser mon interface d'administration, vous voyez qu'on a bien maintenant le slug qui est affiché, Published et Author.
00:01:17 :Et vous pouvez bien entendu cliquer sur chacune des colonnes ici pour faire un tri en fonction des valeurs des colonnes.Donc par exemple, si je souhaite trier par ordre alphabétique les articles en fonction du slug, je peux cliquer ici sur Slug et vous voyez que maintenant j'ai trois options de filtres Django ici qui apparaissent en premier.
00:01:33 :Je peux faire pareil avec les auteurs ou avec le statut Published ici.Donc les colonnes qui sont affichées ici, c'est vraiment ce qui est représenté dans ListDisplay.
00:01:41 :Vous voyez qu'on n'a plus le titre des articles et c'est normal puisque le champ Title n'est pas dans ce ListDisplay.Donc je vais l'ajouter ici, je vais mettre Title et si je reviens sur l'interface d'administration et que j'actualise, vous voyez qu'on a bien le titre qui est affiché.
00:01:54 :Donc le titre, le slug, Published et Author.Vous remarquez également qu'automatiquement les champs de type booléen sont remplacés par une icône qui nous affiche si le champ est vrai ou faux.
00:02:05 :Donc avec le vrai, on a le checkmark ici et avec faux, on a la croix rouge.Vous remarquez aussi que pour les champs qui sont vides, on a un tiret.
00:02:12 :Alors il est possible de modifier ce qui est affiché ici dans le cas d'un champ qui est vide.Pour ça, on va retourner dans notre classe BlogPostAdmin et on va spécifier un autre attribut qui est EmptyValueDisplay.
00:02:32 :Donc là, on a bien un petit bâche pour les trois articles et inconnue pour les deux autres.Donc voilà comment changer les colonnes qui sont affichées, c'est vraiment pas plus compliqué que ça.
00:02:39 :Et vous pouvez le faire sur presque tous les champs qu'on a ici, à l'exception des champs ManyToManyField.Donc si j'essaie d'afficher la catégorie par exemple ici, je vais prendre catégorie et le mettre à l'intérieur de mon tuple.
00:02:50 :Si je reviens et que j'actualise, vous allez voir que là ça ne fonctionne plus, donc on a bien une erreur.Et si je retourne voir dans PyCharm, on a cette erreur qui nous dit qu'on ne peut pas avoir un champ de type ManyToManyField.
00:03:02 :Donc ça c'est normal, c'est parce qu'en fait les champs de type ManyToManyField nécessiteraient de faire une requête SQLpour aller récupérer les données qui sont associées à ce champ.
00:03:11 :Donc ça ferait une requête SQL pour chaque entrée dans notre interface d'administration,et donc ce n'est pas possible de directement mettre un champ ManyToManyField à l'intérieur de l'iste display.
00:03:20 :Mais sinon pour tout le reste, donc tous les champs que vous avez ici, on peut bien entendu les afficher dans l'interface.Par exemple si je veux mettre le contenu, même si c'est un champ TextField donc qui est assez long,je peux bien entendu le mettre ici dans l'iste display.
00:03:32 :Et si j'actualise, donc je vais juste relancer mon serveur pour qu'il n'y ait plus l'erreur.Donc je relance le serveur, je reviens ici, j'actualise, et là vous voyez qu'on a bien le contenu qui est affiché.
00:03:43 :Donc là il n'y a pas grand chose, mais si jamais on avait un contenu assez important,ce serait tout simplement tronqué pour ne pas prendre trop de place dans l'interface d'administration.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.