- 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 :Dans cette partie, on va voir comment ajouter un bouton en dessous de nos utilisateurs pour les supprimer de la base de données.Donc la première chose à faire, c'est d'ajouter une URL et une vue qui vont nous permettre de réaliser cette opération.
00:00:12 :Donc je vais déjà créer l'URL et on créera la vue par la suite.Donc l'URL, on va la mettre tout simplement à l'adresse DELETE et on va faire une vue qu'on va créer par la suite qui va s'appeler DELETE CONTACT.
00:00:24 :Et pour le nom, on va mettre DELETE CONTACT.Donc on va également mettre l'import directement même si la vue n'existe pas encore.Et on va aller à l'intérieur de VIEWS.py pour créer cette fameuse vue.
00:00:34 :Donc on va faire une fonction DELETE CONTACT avec le paramètre REQUEST.Et pour l'instant, je vais mettre là encore juste un RETURN avec un REDIRECT vers la page d'index.
00:00:43 :Et on va voir comment envoyer des informations et les traiter à l'intérieur de cette vue pour pouvoir supprimer le contact.Donc je vais retourner dans mon fichier index.html et à l'intérieur de ma boucle ici dans laquelle j'affiche les utilisateurs,
00:00:56 :je vais rajouter un formulaire avec des champs cachés qui vont me permettre de soumettre ce formulaireavec les champs cachés qui seront le prénom et le nom de famille.
00:01:05 :Et dans la vue, je vais récupérer l'utilisateur avec le prénom et le nom de famille et les supprimer.Donc on va recréer un formulaire avec la balise FORM.
00:01:13 :Pour l'action, on va mettre l'URL vers notre page DELETE.Donc on va mettre la collade, le pourcentage et on va utiliser la balise URL.On met des guillemets simples et on redirige vers la page DELETE CONTACT.
00:01:30 :Donc ensuite, qu'est-ce qu'on va mettre à l'intérieur de notre formulaire ?On va mettre des inputs qui vont être cachés puisqu'on ne souhaite pas afficher ces inputs.
00:01:37 :Ce qu'on veut, c'est juste mettre des informations dans ces inputs qu'on va récupérer dans notre vue.Je vais également spécifier ici, avant que j'oublie, que la méthode va être POST.
00:01:47 :Donc comme pour notre premier formulaire ici, ce qui permet d'envoyer les données non pas directement dans l'URL,mais grâce aux inputs que l'on va mettre à l'intérieur de notre formulaire.
00:01:56 :Également, n'oubliez pas de mettre le fameux jeton CSRF TOKEN pour pouvoir valider le formulaire.Et maintenant, il ne reste donc plus qu'à faire les deux inputs pour le prénom et le nom de famille.
00:02:06 :On va faire une balise INPUT et le type, cette fois-ci, ça va être HIDDEN puisqu'on ne souhaite pas afficher ces informations.On veut juste leur donner des valeurs pour pouvoir les récupérer dans notre vue.
00:02:15 :Pour le nom, on va mettre FIRSTNAME.Et ce qu'on va faire, c'est qu'on va donner une valeur à ces inputs.Donc on va mettre en value la valeur de l'utilisateur.
00:02:24 :Donc on va mettre les doublas collades ici et on va faire USER.FIRSTNAME pour mettre le nom d'utilisateur à l'intérieur de cet input.Donc pour vous montrer ce que ça donne sur la page, je vais leur passer en texte pour l'instantet je vais faire la même chose avec le LASTNAME pour qu'on voit bien les inputs
00:02:38 :et qu'on voit bien si on a la bonne valeur qui est à l'intérieur de ces inputs.Donc là, je n'ai pas besoin de mettre de label puisque ces champs vont être cachés,donc je mets juste DESINPUTS et on va terminer avec un bouton qui va avoir un type de SUBMIT
00:02:50 :puisqu'on veut soumettre le formulaire et pour le texte du bouton, on va mettre SUPPRIMÉ.Donc normalement, on a tout ce qu'il faut ici.Je reviens sur ma page, j'actualise et là, on voit qu'on a bien les deux inputs,donc l'input pour le prénom et le nom de famille avec à chaque fois la bonne valeur qui correspond à l'utilisateur courant
00:03:05 :et le bouton SUPPRIMÉ qui va rediriger vers la vue.Donc je vais pouvoir repasser ces inputs ici en HIDDEN et vous allez voir qu'une fois qu'on les passe en HIDDEN,si on revient sur la page, cette fois-ci, on n'a plus les inputs et on a juste le bouton SUPPRIMÉ.
00:03:18 :Donc là, c'est juste qu'ils ont été cachés.Si je fais un clic droit et que je fais INSPECT et qu'on va voir donc au niveau du bouton SUPPRIMÉ ici,vous allez voir qu'on a bien les inputs ici HIDDEN avec la valeur pour le prénom et le nom de famille.
00:03:31 :C'est juste que donc ils sont cachés mais on va pouvoir les récupérer à l'intérieur de notre vue.Donc je vais faire maintenant le code dans la vue, donc on va aller dans views.py
00:03:39 :et ce qu'on va faire, c'est comme ce qu'on avait fait ici où l'on récupérait à partir de notre formulaire le firstname et le lastname.Donc on va avoir les deux mêmes lignes ici, à partir de request.post, on récupère les deux informations
00:03:50 :et on va pouvoir créer une instance d'utilisateur avec user, firstname et lastname.Et on va pouvoir ensuite faire un user.delete pour supprimer l'utilisateur de la base de données
00:04:00 :et ensuite on redirige tout simplement vers la vue de l'accueil.Donc on va vérifier que ça fonctionne, je reviens sur mon site, j'actualiseet on va essayer de supprimer le dernier utilisateur que l'on a fait ici, donc je clique sur supprimeret là on voit qu'on est bien redirigé vers la page d'accueil et que l'utilisateur n'existe plus.
00:04:15 :Je vais essayer avec celui-là et ça fonctionne parfaitement.On va essayer d'en ajouter un autre.Maurice Smith, on va mettre n'importe quoi ici.On vérifie que tout fonctionne bien, je l'ajoute, je le supprime, donc tout fonctionne parfaitementet on peut donc maintenant supprimer les utilisateurs de notre base de données.
00:04:31 :Donc là on l'a fait avec un formulaire, il y a plein d'autres façons de faire.On a fait un formulaire avec une méthode de post.
00:04:36 :Ce qu'on aurait pu faire également c'est dans notre URL directement mettre des informationspour récupérer le prénom et le nom de famille.Donc ici on aurait pu mettre ces symboles et dire qu'on veut avoir dans l'URL directementle first name et le last name.
00:04:49 :Et ici dans notre formulaire, plutôt que de mettre des inputs qui sont invisibles,donc qui sont cachés avec les valeurs,on aurait pu envoyer ces données directement dans notre URL iciet dans la vue récupérer ces données, cette fois-ci avec un type de requête get.
00:05:03 :Donc c'est-à-dire que dans notre URL ici, on aurait eu slash deleteet ensuite on aurait eu par exemple donc ici first name égale à Patricket last name égale à Smith.
00:05:14 :Quelque chose comme ceci.Et on aurait pu récupérer ces informations dans l'URL dans notre vueavec non pas request.post mais request.get cette fois-ciet faire exactement la même opération ici.
00:05:24 :Donc comme je vous dis, là je ne vais pas détailler tout ça.Je vous donne les grandes lignes.C'est juste pour vous montrer qu'il y a d'autres façons de faire.
00:05:30 :Là je vous montre une façon de faire qu'il est possible de réaliseravec des formulaires, avec des champs cachés.Mais comme toujours avec Python et avec Django aussi,eh bien on peut faire les choses de plein de façons différentes.
00:05:39 :Donc l'important c'est de découvrir différentes façons de faireet ensuite de choisir celles que vous préférezet qui sont les plus sécuritaires également.De donner des informations dans l'URL,ce n'est pas forcément toujours la meilleure façon de faire.
00:05:50 :Là dans ce cas-ci, on n'a pas de données critiques.Il n'y a pas de mots de passe ou autre chose du genre.Donc ce n'est pas très problématique.
00:05:55 :Mais le fait de passer par une requête post,ça nous permet de ne pas avoir ces informations directement dans l'URL.Donc là je vais juste m'assurer d'enlever ce que j'avais rajouté icipour ne pas faire planter mon application.
00:06:05 :Et on arrive donc à la fin de notre applicationpuisqu'on a tous les blocs que l'on souhaitait avoir.On a notre page d'accueil qui affichetous les utilisateurs de notre carnet d'adresses.
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.