- 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 :On a donc maintenant la possibilité d'afficher tous les produits sur la page d'accueilet un produit en particulier avec la page de détails qu'on a rajoutée.
00:00:08 :Le problème c'est qu'actuellement on est obligé d'aller taper cette URL dans la barre d'URLet de revenir à la page d'accueil en enlevant la fin de l'URLdonc ce serait beaucoup plus pratique de pouvoir y accéder avec des liens.
00:00:19 :C'est ce qu'on va voir dans cette partie.On va commencer par ajouter une URL sur le titre de la boutiquetout simplement pour pouvoir cliquer dessus et ainsi revenir à la vue d'accueil.
00:00:28 :Donc ça je vais le faire dans le fichier base.htmlpuisqu'on a remis le titre directement dans ce fichier pour qu'il soit sur toutes les pages du site.
00:00:35 :Donc ce qu'on va faire c'est rajouter un tag pour le liendonc je mets A et j'appuie sur tab pour le compléteret à l'intérieur du href on va utiliser une balise, la balise URLqui va permettre de récupérer un chemin d'URL avec son nom.
00:00:48 :Donc c'est le fameux nom qu'on a mis dans urls.py icije vous avais dit que c'était important de le mettreet donc là on va pouvoir l'utiliser en disant qu'on souhaite accéder à l'URL d'index.
00:00:58 :Donc dans mon fichier base ici je mets tout simplement le nom de l'URLet ici on va prendre notre balise et la mettre après le H1comme ça, ça va entourer le H1 et on pourra ainsi cliquer sur le H1 icipour revenir à la vue d'index.
00:01:11 :Donc je vais tester tout ça, j'actualise, j'ai bien le lien ici, je clique dessuset je reviens donc sur cette même page d'accueil.Donc c'est très pratique ça puisqu'en fait on va se baser sur le nom de l'URLet non pas sur l'URL elle-même, c'est-à-dire que là je pourrais changer l'URL
00:01:24 :dire que maintenant la page d'accueil c'est Patricket ce changement serait automatiquement répercutépuisque le nom lui n'a pas changé.Donc si je reviens sur le site que j'actualiselà vous voyez qu'on a la page qui n'est pas trouvéesi je vais par contre sur slash Patricklà je vais bien avoir la vue d'accueil
00:01:40 :et si je clique sur le lien ici du titreet bien je reviens bien à la page d'accueil qui est Patrick.Donc on voit que le changement a bien été répercutévu qu'on utilise le nom et non pas l'URL directement.
00:01:51 :Pour le produit ça va être sensiblement pareilje vais aller dans la page index.html cette fois-ciet on va rajouter un lien pour pouvoir voir l'articledonc on va mettre là encore un tag Aet on va mettre tout simplement voir l'article pour le texteet dans l'URL là on peut faire la même chose
00:02:08 :donc il y a deux façons de fairela première façon c'est de passer par cette même balise URLet de mettre ici l'URL du produitqui est le nom de l'URL qu'on a défini ici dans le nameet on va devoir lui spécifier quelle est la valeur du slog
00:02:22 :donc si je reviens dans le index icion peut lui spécifier après product.slogalors là plusieurs choses à notervous n'êtes pas obligé de spécifier à quel paramètre cela correspondon peut le spécifier explicitement et dire que c'est slogqui est égal à product.slog
00:02:35 :si on ne le fait pas c'est exactement comme avec les fonctions Pythonil va prendre ce paramètre et l'envoyer au premier élémentqui se trouve dans l'URL donc dans ce cas-ci le slogdonc moi personnellement je préfère ne pas mettre le slog icimême si c'est moins explicite ça permet de gagner un petit peu de place
00:02:49 :également une erreur que je vois très souventc'est des gens entourer cet élément de deux accolades comme cecidonc là vous n'avez pas besoin de le faire pour insérer comme on l'a fait icipar exemple le nom du produitpuisque là on est déjà à l'intérieur de la balise URL
00:03:02 :donc il suffit de spécifier product.slog icivous n'avez pas besoin de l'entourer lui aussi des accoladesdonc ça c'est la première façon de fairesi on retourne voir sur la boutique et que j'actualisedonc là ce n'est plus sur Patrick mais sur l'URL de baselà j'ai bien un bouton voir l'article et si je clique dessus
00:03:17 :je suis bien redirigé vers la vue de l'article en questionje peux revenir à la page d'accueil en cliquant sur la boutique de Docstringet on va vérifier si ça marche également pour le t-shirtil n'y a pas de raison que ça ne marche pas et voilàdonc on a bien nos deux liens ça c'est la première façon de faire
00:03:30 :la deuxième façon de faire que je vais vous montrerqui est privilégiée dans ce cas-ci puisqu'elle va nous permettre égalementd'avoir l'URL pour l'interface d'administrationdonc je vais juste me reloguer sur cette interfacedonc là par exemple si je vais sur le produit, si je vais sur les sneakers
00:03:44 :vous voyez que pour l'instant en haut à droite on a juste l'option historique iciet on peut rajouter en fait un bouton automatiquementqui va nous permettre à partir de l'interface d'administrationd'aller voir l'article sur le sitedonc pour ça on va devoir définir dans le Models.py
00:03:59 :donc dans notre classe Product iciune méthode qui s'appelle GetAbsoluteUrldonc là c'est très important qu'elle s'appelle exactement comme cecipuisque Django va reconnaître cette méthode et va nous permettred'accéder à la page de l'instance avec cette méthodedonc là si je reviens sur l'interface et que j'actualisevous allez voir qu'on a un bouton voir sur le site qui a fait son apparition
00:04:19 :donc pour l'instant il ne va pas rediriger vers la bonne pagepuisqu'on a juste mis un pass icimais je pourrais par exemple retourner la chaîne de caractère de Googledonc on pourrait mettre ici l'URL de Google tout simplementet si j'actualise et que je clique sur voir sur le site
00:04:33 :vous voyez qu'on arrive bien sur la page de Googledonc nous là dans ce cas-ci ce n'est pas ça qui nous intéressenous ce qu'on veut c'est l'URL de la page de détailsdonc pour ça on va utiliser une fonction qui s'appelle Reversequ'on va importer donc option entrée
00:04:45 :ImportThisName et elle se trouve dans Django.urlset donc Reverse on va lui passer le nom de la fonctionet on va lui passer les arguments qu'on va envoyer à l'URLdonc le nom de l'URL c'est le même que celui qu'on a ici dans notre pathdonc Name égale Product et ensuite on va lui passer le Slug
00:05:01 :donc ici on va mettre après le nom de l'URLdans un paramètre Quarks on va lui passer un dictionnaireavec les différents éléments de l'URLdonc le Slug et on va lui passer Self.Slug
00:05:11 :puisque là on est au niveau de l'instancedonc ça va être le Slug de l'instance du produitet on le passe au paramètre Slugdonc là encore c'est le nom que l'on retrouve dans notre URL icidonc là en fait cette fonction Reverse elle fait la même choseque ce qu'on a fait dans la vue ici
00:05:26 :donc avec cette balise URLça nous permet à partir du nom de l'URLet des informations qu'on passe à l'URLde récupérer l'adresse qui va nous amener à la page du produitdonc maintenant je peux remplacer cette balise URLet à la place avec les doubles accoladesutiliser ma méthode et mettre donc Product.GetAbsoluteURL
00:05:45 :donc là ça va faire deux chosessi je reviens ici et que j'actualise dans l'interface d'administrationje peux maintenant cliquer sur ce boutonpour accéder à la vue de détailet je peux le faire également en revenant sur la vue principaleen cliquant sur le bouton voir l'articlede la même façon ça va utiliser cette méthode GetAbsoluteURL
00:06:03 :pour m'amener à la page de détail de l'articledonc voilà comment faire le lien entre la page d'accueil et la page des articlessoit avec ces balises URL directement dans le fichier HTMLsoit avec cette méthode GetAbsoluteURLqui est très pratique également pour pouvoir y accéder depuis 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.