La fonction get_object_or_404
Exclusif Premium
Débloquez votre potentiel ! ✨
Cette session fait partie de notre programme Premium exclusif
+100h de formations exclusives
+180 exercices de code avancés
+100h de mentorats en réécriture
20 projets guidés pas à pas
Mentorats groupés hebdomadaires
Support individuel avec nos mentors
Prêt à passer au niveau supérieur ?
Découvrez tous les avantages Premium et transformez votre apprentissage dès aujourd'hui!
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte00:00:00 :Quand on souhaite récupérer un élément de notre base de données et prévoir le cas où cet élément n'existe pas,on peut faire un try-except avec cette exception sur notre modèle blogpost qui vérifie si on a l'exception blogpost.doesnotexist qui est levée.
00:00:15 :Donc si on a cette exception, dans ce cas-ci, on va retourner un HTTP 404 avec le raise ici.Il y a une fonction de raccourci qui permet de faire tout ça en une seule ligne.
00:00:25 :Cette fonction s'appelle tout simplement getObjectOr404.Donc on va récupérer l'objet, sinon on va retourner une page 404.Cette fonction est contenue à l'intérieur des fonctions de raccourci, donc je vais l'importer.
00:00:39 :Et vous voyez qu'elle est dans django.shortcut.Donc from django.shortcut import getObjectOr404.Et donc ces quatre lignes, je vais pouvoir les remplacer par cette fonction.Je vais récupérer tout ça dans une variable blogpost.
00:00:52 :Si on a un objet qui existe, on va le récupérer dans blogpost et afficher son contenu.Sinon, on aura une erreur 404 qui va être levée.
00:00:59 :Donc le premier élément qu'on va passer, c'est la classe, donc la classe blogpost.Et ensuite, on va passer le pk, donc le primary key, et on va dire qu'on veut récupérer le premier article.
00:01:07 :Donc là, vous pouvez passer d'autres choses.On pourrait, par exemple, passer le slug ou d'autres champs de notre objet blogpost.Dans ce cas-ci, moi, je vais utiliser le primary key.
00:01:15 :Donc là, dans ce cas-ci, le primary key de 1 n'existe pas.Donc je vais retourner sur mon site.J'actualise.Et là, vous voyez qu'on a bien une erreur 404 avec cette phrase qui s'affiche.
00:01:25 :Donc no blogpost matches the given query.Si, par contre, j'essaie de récupérer l'article avec le primary key de 3 qui, lui, existe,je reviens sur ma page, j'actualise.
00:01:35 :Et là, vous voyez qu'on a bien le contenu qui est affiché puisque cet article existe.Donc vous voyez qu'on a pu remplacer ces quatre lignes de code avec le try, except,qui est un peu compliqué à retenir, avec directement cette fonction, donc get objector 404, qui est donc une fonction raccourcie qui nous permet soit de récupérer l'objet,
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.