- 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
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Il y a des situations dans lesquelles on aimerait que notre formulaire soit pré-rempli avec certainesinformations. Alors heureusement on peut bien entendu mettre des informations par défaut dans
00:00:09 :notre formulaire et pour ça on va le faire donc directement ici après le health. Donc là on anotre if dans lequel on a la méthode qui est égale à post donc ça c'est si on envoie des données auformulaire et si on n'envoie pas des données au formulaire ça veut dire qu'on a une requête de
00:00:23 :type get donc on fait juste afficher la page comme ici si j'accède tout simplement à la page là jevais aller dans le health. Donc pour l'instant on ne passe aucune donnée ici dans notre formulaire
00:00:33 :et on va pouvoir lui passer des valeurs initiales que l'on souhaite utiliser pour pré-remplir notreformulaire. Alors là il faut faire bien attention si vous mettez directement un dictionnaire comme
00:00:42 :ceci en fait vous allez passer des données au paramètre data qui est donc le premier paramètredonc si vous mettez data égal ou que vous ne mettez rien ça revient au même mais le problème si vousfaites ça c'est qu'en fait vous donnez des données à votre formulaire qui vont être validées. Donc ce
00:00:56 :que je veux dire par là c'est que si vous donnez par exemple un jeu de données avec le data icidonc par exemple en mettant donc le nom du champ et un titre par défaut donc par exemple titretemporaire donc si on fait ça qu'on passe un dictionnaire avec title qui est égal à titre
00:01:10 :temporaire et qu'on revient sur notre site pour actualiser et afficher la page vous voyez qu'ona bien le titre temporaire qui est affiché ici mais on a également la validation qui nous indiqueque ce champ est obligatoire celui-ci aussi celui-ci aussi et qu'ils ne sont pas remplispuisqu'on ne les a pas indiqués à l'intérieur de notre dictionnaire. Donc ça c'est pas la bonne
00:01:27 :façon de faire si vous mettez data ou vous ne mettez rien ici et bien automatiquement vousallez avoir une validation qui va être faite et donc on n'a pas envie d'avoir directement quandon arrive sur cette page les erreurs qui sont affichées. Donc à la place il va falloir passer
00:01:39 :cette valeur à initial donc initial qui signifie qu'on veut passer des valeurs initiales mais on neva pas avoir une validation qui va être effectuée. Donc cette fois ci si j'actualise ma page vous
00:01:48 :allez voir que cette fois ci on a bien le titre temporaire qui est affiché mais on n'a pas leserreurs qui nous indiquent que les champs ne sont pas renseignés. Donc là on va pouvoir mettre des
00:01:57 :valeurs par défaut. Donc là je vais enlever mon dictionnaire je ne vais pas pré-remplir le titremoi ce que j'aimerais bien c'est pré-remplir par exemple l'auteur donc si on est logué sur le siteet bien aller chercher dans la liste ici l'utilisateur qui est logué actuellement sur lesite. Dans mon cas je suis logé je suis dans l'interface d'administration ici je me suis
00:02:13 :logé tout à l'heure donc j'ai bien accès à mon interface et je suis logé avec mon utilisateurtbash. Donc ça veut dire que sur ce site ici je suis reconnu en tant que l'utilisateur tbash
00:02:22 :donc j'aimerais bien que quand j'accède à cette vue et bien automatiquement ça sélectionne monnom d'utilisateur. Également on aimerait bien que par défaut la date ici soit pré-remplie avec la
00:02:32 :date d'aujourd'hui. Donc ça je peux très bien le faire ici donc dans le else on va créer undictionnaire init values qui va être égal donc pour l'instant à un dictionnaire vide et iciensuite on va faire une vérification pour vérifier si on a un utilisateur qui est actuellement
00:02:46 :connecté sur le site. Donc pour ça on va pouvoir faire if request.user.isAuthenticated commececi. Donc request.user ça va nous retourner l'utilisateur et on va pouvoir avec isAuthenticated
00:02:58 :vérifier si l'utilisateur est connecté. Donc si on a un utilisateur de connecté on va pouvoirle passer à la clé author. Donc la clé author qui correspond à mon champ author ici et puisqu'on
00:03:09 :est avec un model form et bien ça va correspondre à ma base de données donc ici à mon blog post àl'auteur qui est un foreign key vers le user donc user ici. Donc c'est parfait on va pouvoir
00:03:18 :renseigner un utilisateur donc une classe user et automatiquement l'assigner à ce champ auteurqui est donc le champ ici dans mon formulaire. Donc pour ça je vais mettre dans mon dictionnaire
00:03:29 :init values une clé qui va être égale à author donc il est bien important ici de mettre le mêmenom que le champ de notre formulaire et on va dire qu'elle est égale à request.user tout simplement.
00:03:39 :Et ensuite à la ligne on va rajouter donc la date donc on va faire init values et cette fois-cion va renseigner le champ date et on va tout simplement importer le module date time donc touten haut de mon fichier ici je vais faire from date time import date time et à partir de ce module
00:03:53 :date time on va pouvoir récupérer la date d'aujourd'hui. Donc on va faire date time .todayet ça ça va nous récupérer tout simplement la date actuelle donc la date d'aujourd'hui au momentoù j'enregistre cette formation. Ensuite on va passer donc ce dictionnaire à notre paramètre
00:04:07 :initial et on va dire donc initial égale init values. Et là vous allez voir que par magieet là vous allez voir que si j'actualise ma page cette fois-ci j'ai bien donc la date qui estautomatiquement affichée donc on est bien le 10 mars 2021 au moment où j'enregistre donc c'est
00:04:21 :parfait et j'ai bien mon utilisateur ici qui est renseigné. Et juste pour vous montrer je vaisaller me déconnecter donc je vais aller dans l'interface d'administration me déconnecterdonc je clique sur déconnexion ici je reviens sur cette page j'actualise et là j'ai bien donc ladate qui est toujours présente mais l'auteur cette fois-ci qui n'est pas renseigné. Donc ça c'est
00:04:39 :parce que je me suis déconnecté donc cette structure conditionnelle ici n'est plus vérifiéepuisque l'utilisateur actuel dans le request.user n'est pas authentifié donc n'est pas authenticated
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.