- 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 le formulaire d'inscription qui va permettre auxutilisateurs de s'inscrire sur notre site. Donc, ce qu'on va faire, c'est rajouter un template à
00:00:09 :l'intérieur de notre application Accounts. On va devoir déjà créer le dossier de template,donc clic droit New Directory. On va l'appeler Template et on va là encore mettre un sous-dossier
00:00:20 :qu'on va appeler du même nom de l'application, donc Accounts dans ce cas-ci. On va créer unfichier HTML qu'on va appeler Sign Up, tout simplement, et on va enlever tout le HTML debase qui nous est créé par Python. A la place, ce qu'on va faire, c'est étendre le fichier de base,
00:00:35 :donc avec Extends. On met le nom de notre fichier qu'on souhaite étendre, donc Base.html, et on vacréer notre bloc de contenu avec Block Content que l'on n'oublie pas de refermer avec End Block.
00:00:47 :A l'intérieur de ce bloc, on va rajouter le formulaire, donc je vais juste coller le codeet ne pas tout écrire à la main puisqu'il y a beaucoup de choses, mais je vais vous expliquertout ce qu'on a mis ici, ne vous inquiétez pas. Donc à l'intérieur du bloc de contenu,
00:00:59 :qu'est-ce qu'on a ? Tout simplement un H1 pour dire s'inscrire, donc juste un titre pour qu'onsache qu'on est sur la page d'inscription. Ensuite, on va avoir un formulaire. On indique ici la
00:01:08 :méthode, donc dans ce cas-ci, c'est une méthode Post qui nous permet d'envoyer des informations,non pas directement dans l'URL, mais avec la requête. On a ici un tag très important que
00:01:18 :vous devez mettre. Si vous ne le mettez pas, vous aurez une erreur et Django va vous avertir quevous avez oublié ce tag. Le tag, c'est le CSRF token. C'est un tag qui permet de rajouter un
00:01:29 :jeton invisible qui va être envoyé avec la requête et qui permet de s'assurer, pour des raisons desécurité, que la requête n'a pas été interceptée et qu'elle n'a pas été modifiée en cours deroute. Donc ça, c'est un jeton de sécurité. Vous n'avez pas vraiment besoin de comprendre
00:01:43 :exactement comment ça marche. Il suffit de le rajouter et Django, de son côté, va gérer cetoken pour vérifier qu'il s'agit bien du même et s'assurer que la requête est valide. Ensuite,
00:01:52 :on a tout simplement un label et un input pour le nom d'utilisateur. Le label permet d'afficher dutexte et ensuite le input, qui est de type texte, qui nous permet de récupérer le nomd'utilisateur. On verra dans une prochaine partie comment récupérer du côté de la vue ces
00:02:08 :informations. Pour l'instant, on fait juste afficher ces informations au niveau du HTML.On a ensuite un autre label avec le mot de passe. Cette fois-ci, le type, c'est password. Ça va
00:02:17 :permettre d'avoir une boîte de texte qui n'affiche pas le mot de passe quand on le tape. Et pourfinir, on a un bouton de type submit qui va permettre de lancer la requête et de s'inscrireau site. Par défaut, dans le formulaire HTML, si on ne met rien sur l'action, on pourrait spécifier
00:02:31 :ici action et dire à quelle URL ça doit renvoyer. Si on ne met pas l'action, par défaut, ça varenvoyer vers la vue actuelle, donc l'URL sur laquelle vous êtes actuellement. Donc je ne mets
00:02:41 :rien dans action et on reviendra un petit peu plus en détail là-dessus dans la suite. Doncmaintenant, ce qu'on va faire, c'est rajouter la vue qui va récupérer les informations duformulaire. Donc ça, ça va se passer dans le fichier Views de notre application Accounts. Donc
00:02:54 :je vais double-cliquer sur Views ici pour ouvrir ce fichier et on va rajouter la vue de signup.Donc on va faire def signup, on va récupérer là encore la requête et on va retourner notretemplate. Donc en premier, on retourne la requête et ensuite le template qui est dans accounts
00:03:10 :slash signup point html. On va finir par ajouter le chemin d'URL. Donc ça, ça va se trouver dansle shop dans urls.py et on va faire une vue. Donc je vais dupliquer cette vue ici. On va
00:03:23 :l'appeler signup, ça va rediriger vers la vue de signup qu'on doit donc importer. Donc là,vous voyez, c'est la même boucle que celle qu'on fait depuis le début. Donc from accounts point
00:03:32 :views import signup tout simplement. Et je vais mettre ici signup à la place de admin site urls.On va la nommer également en lui donnant un nom, name égale signup. Donc rien de bien compliqué
00:03:44 :ici, on fait juste exactement la même chose que ce qu'on a fait précédemment. Et pour finir,on va rajouter dans le fichier de base un lien pour accéder à cette page d'inscription. Donc
00:03:53 :dans shop ici, non pas dans shop, dans templates pardon, dans base html, on va rajouter ici,donc juste après le titre du site, ici on va rajouter en fait un lien qui va nous permettred'accéder à cette page. Donc un lien avec le tag A et dans le href, on va mettre url et on va mettre
00:04:11 :notre nom, donc signup, qui nous permet d'accéder à la page de signup en texte, on va dire s'inscriretout simplement. Et là, on va rajouter une petite structure conditionnelle puisqu'on veut afficher
00:04:19 :ce lien que si l'utilisateur n'est pas connecté. Donc pour ça, on fait un if, donc if qu'on varefermer avec un endif et on va déplacer notre balise à l'intérieur de cette balise if. Et
00:04:33 :qu'est-ce qu'on va mettre comme condition ? On va récupérer l'utilisateur qui est disponible dansuser, donc ça c'est quelque chose qui est disponible dans toutes les pages où vous êtesdans votre application Django. Et on a ici une façon de vérifier si l'utilisateur est connecté
00:04:45 :avec is authenticated. Donc attention, c'est un petit peu compliqué pour les francophones,authenticated comme ceci avec un th ici, e-n-t-c-a-t-ed. Donc ça, ça permet de vérifier
00:04:54 :si l'utilisateur est connecté ou non. Et donc là, on va devoir inverser cette condition puisqueon ne veut afficher le bouton pour s'inscrire que si l'utilisateur n'est pas connecté. Donc on va
00:05:03 :dire if not user is authenticated, donc en français si l'utilisateur n'est pas connecté,on affiche le bouton. Donc on va vérifier que ça fonctionne, je reviens sur mon site,
00:05:12 :j'actualise. Alors là, on n'a plus cette page de produit, je reviens sur la page d'accueil. Là,j'ai bien le bouton s'inscrire et je vais aller me connecter dans l'interface d'administrationpour vous montrer qu'une fois qu'on est connecté, ce bouton disparaît. Donc je me connecte. Maintenant,
00:05:26 :je suis connecté avec le super utilisateur, je reviens sur la page et là vous voyez que lebouton pour s'inscrire n'est plus présent. Donc ça fonctionne, je vais également vous
00:05:34 :montrer la page d'inscription. Donc en allant dans sign up, on va retrouver notre formulaireavec le label pour le nom d'utilisateur, le nom d'utilisateur qu'on peut taper ici,le mot de passe avec comme je vous avais dit les caractères qui sont masqués. Donc pour l'instant,
00:05:47 :si je clique sur s'inscrire, rien ne se passe, on est juste redirigé comme je vous disais sur lamême page que celle sur laquelle on se trouve. Donc ça c'est parce qu'on n'a rien mis, si je
00:05:55 :retourne dans le sign up, on n'a rien mis dans le paramètre action ici. Donc par défaut, il varediriger vers la même page et dans notre vue ici, on fait juste rediriger vers account.signup.
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.