- 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 :Afin de pouvoir retourner un template HTML dans notre vue, il va déjà falloir créer ce fichier.Pour ça, je vais créer un dossier à l'intérieur de DocBlog ici.
00:00:11 :Donc je vais faire un clic droit, New, et je vais créer un dossier qui va s'appeler Templates.Pour l'instant, le nom n'a pas d'importance puisqu'on n'a pas encore d'application,et on va ajouter nous-mêmes le chemin de ce dossier dans les settings de notre application.
00:00:26 :Cependant, lorsque vous créerez des applications, à l'intérieur de ces applications,si vous créez des templates, là, il sera très important que le nom du dossier soit bien Templates.
00:00:36 :Donc pour garder les bonnes habitudes, je vais l'appeler également Templates,et on va aller voir tout ça en détail à l'intérieur de settings.py.Donc pour l'instant, comme je vous disais, on n'a pas d'application,on a juste notre projet avec le dossier DocBlog.
00:00:48 :Si on va voir dans Installed Apps ici, on a plusieurs applications préexistantes,on a l'administration par exemple, ou Static Files qui nous permet de gérer les fichiers statiques.
00:00:57 :Donc toutes ces applications, ce sont des applications qui sont créées et gérées par Django.Si on descend un petit peu ici, on a une variable Templates qui contient un dictionnaireavec différentes valeurs ici.
00:01:09 :Vous voyez qu'on a marqué AppDirs ici, donc une clé AppDirs qui est à True.Donc ça, c'est la fameuse variable qui va permettre de reconnaître automatiquementtous les dossiers Templates à l'intérieur de nos applications.
00:01:21 :Comme on n'a pas d'application pour l'instant, on va devoir ajouter nous-mêmes le dossier Templatesqu'on a créé ici dans cette clé Dirs qui contient une liste qui pour l'instant est vide.
00:01:30 :Donc avant ça, je vais créer le fichier HTML à l'intérieur de Templates.On va le retourner dans la vue et vous allez voir qu'en l'état, le fichier n'est pas reconnuet qu'il va donc falloir l'ajouter ici.
00:01:40 :Donc pour l'instant, je vais créer le fichier.Donc dans Templates ici, je fais un clic droit, New, et je vais créer un fichier HTML.Je vais l'appeler Index tout simplement.
00:01:48 :Je valide en sélectionnant HTML5 File et automatiquement,vous allez avoir un Template de base pour un fichier HTML.Donc je vais dire mon site web dans Title et on va recréer ici un tag H1.
00:02:00 :Donc je mets tout simplement H1, j'appuie sur Tab pour valideret je vais dire bonjour, bienvenue sur mon site.Donc le Template est maintenant créé et on va retourner dans notre vue,donc le fichier views.py pour retourner ce Template à la place de la chaîne de caractère
00:02:15 :que l'on avait défini ici.Donc cette fois-ci, on ne va pas utiliser HTTP response,on va utiliser une autre fonction qui est la fonction Renderet cette fonction, on va lui passer en premier le paramètre Request.
00:02:27 :Donc c'est ce paramètre que l'on avait récupéré ici dans la définition de notre vue,donc il est bien important de redonner ce paramètre Request en premierà notre fonction Render.
00:02:37 :En deuxième, on va lui indiquer le Template que l'on veut retourner.Donc dans ce cas-ci, c'est index.html tout simplement,puisqu'on va cibler ce fichier ici qui est à l'intérieur du dossier Template.
00:02:48 :Donc ici, il ne faut pas mettre template.html mais juste index.htmlpuisque nous, on va ajouter le dossier Template dans le fichier de settings.Si dans le fichier de settings, on ajoutait à la place doc blog,là dans ce cas-ci, il faudrait partir de ce dossieret faire un chemin relatif à partir de ce dossier.
00:03:04 :Donc là, on aurait besoin de mettre template.html mais nous,comme on va ajouter Template, il suffit de mettre index.html.Pour l'instant, cette fonction n'est pas importée,donc on va utiliser PyCharm avec option Entréepour l'importer rapidement depuis le module Django.shortcuts.
00:03:19 :Donc c'est la première entrée ici, je valide et là comme ça,on a bien from Django.shortcuts import Render.On va supprimer le premier import dont on ne se sert pluset là, on a bien retourné notre Template.
00:03:31 :Donc on utilise Return pour retourner à la fin de notre fonction le Templateavec la fonction Render à laquelle on passe le paramètre Requestet ensuite le chemin relatif vers notre fichier HTML.
00:03:43 :Donc en l'état, ça ne va pas marcher comme je vous disaispuisqu'on n'a rien mis en ce moment dans settings.py.Donc si je retourne dans mon terminal, je vais relancer le serveurpour m'assurer que tout est bien à jouret si je retourne sur mon serveur et que j'actualise,
00:03:56 :on a bien une erreur et cette erreur, c'est Template does not exist.Donc le Template n'a pas été trouvé et il va falloir doncque l'on ajoute à l'intérieur de notre fichier settingsle chemin vers ce dossier Template.
00:04:08 :Donc je vais faire un clic droit et je vais cliquer sur Copy Pathet pour l'instant, je vais copier le chemin absolu.Et ce chemin absolu, je vais le mettre sous forme de chaîne de caractère ici.
00:04:18 :Donc à l'intérieur de Dirce, dans cette liste,on met le chemin vers le dossier de Template.Je vais relancer mon script, donc relancer le serveur.
00:04:27 :Je reviens ici, j'actualise et là, ça fonctionne.On a bien notre Template qui est retournéavec le texte qui s'affiche.Donc le texte que l'on avait mis dans notre fichier HTML ici.
00:04:37 :Pour vous montrer, je vais mettre Au revoir à la place de Bienvenue.Je reviens sur le site, j'actualiseet là, on a bien le texte qui a été mis à jour.
00:04:44 :Également, je vais vous montrer ce que je vous disais.Si on enlève le dossier Template ici et qu'on met juste DocBloget que je reviens sur mon site et que j'actualise,là, cette fois-ci, on a bien de nouveau l'erreur Template does not exist.
00:04:56 :Donc si on met juste DocBlog,ça veut dire que dans notre vue, il va falloir partir de DocBloget faire un chemin relatif à partir d'ici.
00:05:03 :Donc on va mettre Template slash index.html.Donc j'attends que mon serveur se relance.Voilà, il a été rechargé.Je reviens ici, j'actualise et là, le Template est bien trouvé.
00:05:14 :Donc il faut bien comprendre que ce qu'on passe ici en chaîne de caractère,c'est le chemin relatif à partir du dossierque l'on a mis dans la clé Dears ici, dans la variable Template.
00:05:23 :Alors pour l'instant, le problème, c'est qu'on a mis un chemin absolu.On a mis slash user, slash tbash, etc.Le problème, c'est que si on prend notre projetet qu'on le déplace sur un autre ordinateur,comme par exemple un serveur qui va délivrer notre site webaux gens qui souhaitent le visiter, là, ça ne fonctionnera plus.
00:05:39 :Et nous, on n'a pas envie de changer à chaque fois les chemins à la maindans le fichier de settings.Donc pour ça, ce qu'on va faire, c'est qu'on va utiliser une variablequi est définie par défaut dans ce fichier de settings,qui est cette variable ici, BaseDears,qui correspond au dossier source de notre projet.
00:05:53 :Donc là, en fait, ce dossier va être calculé automatiquementà partir du chemin du fichier de settings.Et vous voyez ici qu'on remonte de deux par an.
00:06:01 :Donc c'est-à-dire qu'on va partir du fichier settings.py,donc ce fichier ici, on va remonter une fois d'un par an,donc vers DocBlog, et une deuxième fois vers source.
00:06:10 :Donc BaseDears, ici, ça va être égal au dossier source.Pour vous montrer ça, je vais faire un print de BaseDearset on va aller voir dans notre terminal.
00:06:18 :Et une fois qu'il sera rechargé, vous voyez qu'on a bienle BaseDears qui est affiché, donc cette variable,qui correspond bien au dossier source de mon projet.
00:06:26 :Et donc ça, ça va fonctionner peu importe où se trouve mon projetpuisque c'est relatif au chemin du fichier settings.Donc si je déplace mon projet dans un autre dossier,le chemin sera recalculé automatiquement.
00:06:37 :Donc on va pouvoir utiliser cette variable BaseDearsà l'intérieur, ici, de notre variable Dears,donc de la clé du dictionnaire.Et donc plutôt que de mettre tout ça ici,on va faire une concaténation avec os.path.join,
00:06:50 :qui nous permet de concaténer des chemins de fichiers.Ce module OS, il n'est pas importé,donc je place mon curseur entre le O et le Set je fais option entrée pour importer rapidement le modulegrâce à PyCharm.
00:07:02 :Et ici, je vais concaténer la variable BaseDearsavec mon dossier de templates.Donc avec mon dossier de templates.BaseDears, ici, ça correspond à SRC,donc au dossier source,donc il faut que je le concatène avec docblogs.templates.
00:07:15 :Donc docblogs.templates.Et donc tout ça, ici, ça va me retournerle chemin complet vers le dossier templates.Et ce, peu importe où se trouve mon projet sur mon disque.
00:07:25 :Donc là, on va pouvoir vérifier que tout fonctionne.On a bien notre dossier templatesqui est dans cette variable Dears, ici.Et dans ce dossier templates,on a toujours notre fichier HTMLque l'on retourne dans notre vue, ici,avec la fonction Render.
00:07:40 :Donc je retourne sur mon site,j'actualise pour vérifier que tout fonctionne bien.Et là, ça ne fonctionne toujours pas,alors on va débugger ensembleet je pense que c'est, voilà,parce que dans Views,j'avais laissé le chemin templates-index.
00:07:51 :Mais là, vu qu'ici, on a mis le dossier templates,on n'a plus besoin de mettre le dossier templates, ici.Donc ce que je peux faire,c'est soit dans Settings, ici,enlever le dossier templateset à partir de docblogs, dans mes vues,je retournerai le chemin complet à partir de templates.
00:08:05 :Donc là, si je reviens sur mon site,normalement, cette fois-ci, ça devrait marcher.Voilà, donc là, j'ai bien mon template qui est retourné.Moi, ce que je préfère, ici,c'est donc dans le fichier de Settings,remettre le dossier templates.
00:08:16 :Et comme ça, dans ma vue,je peux retourner directement le nom de la vuesans avoir besoin de le préfixer du nom du dossier templates.
00:08:22 :Donc je vais retourner sur mon sitepour m'assurer que tout fonctionne toujours.Donc j'actualise et ça fonctionne toujours.Donc c'est parfait.Donc voilà comment créer un fichier de template HTML.
00:08:32 :Voilà comment rajouter ce dossier de templateà l'intérieur du fichier Settings,donc dans cette variable, ici.Donc en fait, je dis variable,mais ici, il s'agit d'une clé et d'une valeur d'un dictionnaire.
00:08:42 :Donc le dictionnaire qui est ce dictionnaire templatesà l'intérieur du fichier de Settings.Et vous verrez que quand on crée des applications,on n'aura pas besoin de faire cette manipulationparce qu'automatiquement, grâce à cette valeur ici,les dossiers templates à l'intérieur des applicationsseront reconnus automatiquement par Django.
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.