- 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 :Maintenant que l'on a relié notre URL, donc la page d'accueil, à notre fonctiondashboard qui nous a permis d'afficher le tag de h1, donc bonjour tout le monde,on va cette fois-ci créer un template html que l'on va pouvoir retourner àl'intérieur de notre fonction, donc la fonction qui se retrouve ici dans le
00:00:17 :fichier views.py. Donc pour ça on va utiliser ce qu'on appelle lestemplates. Les templates on va les créer dans un dossier qui va être à
00:00:25 :l'intérieur de mon dossier devise, donc le dossier de l'application devise, et enfait à l'intérieur de ce dossier devise on va faire un autre dossier qu'on vaappeler templates. Donc en fait ce dossier va être reconnu puisque dans mon
00:00:37 :fichier settings ici, donc le fichier principal de paramètres de monapplication Django, on a ici une variable templates qui va contenir différentesvaleurs et par défaut on a appdears ici qui est égale à true. Donc ça veut dire
00:00:49 :qu'on va pouvoir créer des dossiers de templates à l'intérieur de nosapplications, donc app ici, et ces templates vont être reconnusautomatiquement par Django. On pourrait également mettre ces templates
00:01:00 :complètement ailleurs si on veut et spécifier ces dossiers ici dans cettevariable, donc dans dears ici. Dans cette clé de dictionnaire on pourrait mettreune liste de dossiers dans lesquels on voudrait que Django aille chercher nostemplates. Donc nous on va tout simplement les créer ici à l'intérieur de notre
00:01:14 :application, on va juste s'assurer ici que par défaut, donc normalement c'estdéjà la bonne valeur, mais assurez vous que vous avez bien la valeur true icidans appdears. Donc ce qu'on va faire à l'intérieur de ce dossier template c'est
00:01:25 :créer notre template mais avant ça on va créer un autre dossier qui va être enfait le même nom que le dossier de notre application.
00:01:32 :Alors ça va paraître un petit peu bizarre donc je vais le faire tout desuite, je vais créer un dossier que j'appelle devise, donc là on a un premierdossier pour notre application qui s'appelle devise, on a un autre dossiertemplate et on a à nouveau un dossier devise à l'intérieur de ce dossier
00:01:45 :template. Pourquoi on fait ça ? Parce que si on crée directement notre fichierhtml dans ce dossier template et qu'on avait plusieurs applications, on pourraitécraser en fait les noms, c'est à dire que si on avait index.html dans
00:01:57 :template dans notre application devise et un autre fichier index.html dans uneautre application qui s'appellerait par exemple blog, et bien on auraitdirectement deux fichiers qui s'appelleraient index.html. Le fait de
00:02:08 :mettre ici le nom d'un dossier devant, donc de mettre notre template dans undossier devise, ça fait que le nom complet de notre template ne sera plusuniquement index.html mais devise slash index.html. Donc si on a un autre
00:02:20 :fichier index.html dans une application blog, son nom ce sera blog slash index.html.Donc comme ça, ça nous permet de séparer les choses et de nous assurer qu'on neva pas avoir de problème avec des fichiers qui auraient le même nom. Donc
00:02:32 :à l'intérieur de ce dossier devise, je vais faire un clic droit et je vaiscréer un fichier html. Donc html file ici et je vais l'appeler tout simplement
00:02:40 :index. Je choisis ici html5.file, je suis même pas obligé en fait de mettrel'extension .html, il va me la mettre automatiquement. Donc je valide et
00:02:49 :automatiquement vous voyez que PyCharm nous fait un fichier type html. Donc ona bien le doctype ici, la balise html, on a la langue qui par défaut est enanglais, on pourrait la mettre en français, ça ne change pas énormément dechoses dans notre cas. On a le head avec la balise titre qui va nous permettre de
00:03:06 :donner un titre à notre site web. On a le body et enfin le html qui ferme icinotre balise que l'on a ouverte ici. Donc c'est à l'intérieur du body que l'on
00:03:15 :va pouvoir par exemple ici remettre notre tag h1 qui disait bonjour tout lemonde. Donc on a quasiment la même chose que ce qu'on avait précédemment, c'est à
00:03:24 :dire que on a notre balise sauf que cette fois-ci elle est inclue àl'intérieur d'un fichier html et on va pouvoir donc retourner ce templatedirectement dans notre vue. Donc pour ça on va retourner dans notre fichier
00:03:35 :views.py et cette fois-ci plutôt que de retourner directement un httpresponse on va utiliser cette fonction ici render qui était importée pardéfaut dans notre fichier. Si ce n'est pas le cas vous pouvez l'importer, elle
00:03:46 :est contenue à l'intérieur de django.shortcut et cette fonction renderelle va nous permettre de retourner un template. La première chose qu'on vadevoir lui donner c'est notre requête. Donc on va passer le paramètre ici que
00:03:59 :l'on a récupéré donc qui va récupérer la requête de l'utilisateur et bien onva passer ça en premier à notre fonction render et ensuite on va luidonner le chemin vers le template. Alors ce chemin c'est sous forme de chaîne de
00:04:11 :caractère. Alors ça peut paraître bizarre au début, dans ce cas-ci on ne vapas importer notre fichier et en fait c'est normal puisqu'on ne peut pasimporter un fichier html. Dans un fichier python ici je peux comme je l'ai fait
00:04:22 :dans le fichier url importer ma vue puisque c'est une vue en fait c'est unefonction, c'est une fonction python donc je peux importer cette fonction python.
00:04:29 :Donc dans ce cas-ci on indique ici la fonction que l'on veut lier à notre url.Par contre dans notre vue ici on veut lier le fichier html à notre vue donc ànotre fonction dashboard et ce fichier html on ne peut pas l'importer, on nepeut pas faire import devise.index.html etc ça ne marche pas forcément
00:04:46 :puisque c'est un fichier html. Donc dans ce cas-ci on va devoir mettre une chaînede caractère et on va indiquer le chemin complet vers notre fichier index.html.
00:04:55 :Donc quand je dis le chemin complet en fait ça va commencer avec notre dossierici donc c'est à partir du dossier template et dans ce cas-ci on va mettredevise.index.html donc là vous voyez bien l'intérêt d'avoir un
00:05:06 :sous-dossier avec le même nom de notre application qui va nous permettre d'avoirun chemin donc un nom de template qui va être différent selon les applications.
00:05:13 :Donc à l'intérieur des guillemets ici je vais mettre devise.index.html etc'est tout on n'a pas besoin de retourner quoi que ce soit de plus on a notre requêteici avec le template que l'on veut retourner dans ce template on a remisnotre tag h1 ici donc je vais relancer mon serveur je vais cliquer ici sur la
00:05:30 :flèche en haut à droite pour lancer le serveur je vais me rendre sur le serveuret là vous voyez qu'on a un petit problème alors c'est quoi ce problème en fait c'estqu'on n'a pas mis notre application dans notre fichier settings donc si vous revenezdans le fichier settings ici vous allez voir qu'en fait on a une constante une
00:05:48 :variable ici installedApp qui contient toutes les applications de notre projet.Donc on a quelques applications de base qui nous permettent d'accéder par exemple àl'admin et on va devoir ajouter notre application que l'on a créé dans lesparties précédentes donc cette application qu'on va ajouter c'est notre applicationdevise donc il suffit ici de rajouter à l'intérieur d'une chaîne de caractère
00:06:06 :ici le nom de notre application donc le nom du dossier qu'on a ici donc on metdevise ici on va retourner dans notre terminal on va arrêter le serveur çapeut être bien des fois de l'arrêter de le redémarrer normalement on n'a pasbesoin il va se reloader automatiquement dès qu'on fait un changement sur un
00:06:21 :fichier mais des fois quand on fait des changements assez importants comme çadonc par exemple changer des url ou changer des applications qui sontinstallées ou pas installées et bien ça peut être intéressant quand même dejuste arrêter le serveur et le relancer pour s'assurer qu'il a bientous les changements donc je veux aussi faire un petit peu de ménage dans mes
00:06:36 :ongles ici je ferme tout ça je relance un serveur clean voilà je vais me rendresur l'application et voilà vous voyez que ça fonctionne on a bien bonjour toutle monde qui s'affiche et juste pour vérifier que c'est bien ce templatequ'on retourne je vais modifier le texte ici et à la place de bonjour tout le
00:06:50 :monde je vais mettre par exemple tableau de bord devise donc j'ai pas besoin desauvegarder sur pycharm ça se fait automatiquement donc on revient surnotre site web on actualise et là vous voyez qu'on a bien tableau de borddevise qui s'affiche donc c'est bien notre template que l'on a créé dans le
00:07:05 :fichier index.html donc voilà pour la logique qui nous permet de retourner unfichier html donc via les templates que l'on peut créer directement dans notreapplication ici donc il y a plein de petites choses auxquelles il faut faireattention notamment donc ajouter notre application ici si ce n'est pas déjà
00:07:21 :fait donc dans cette variable installed apps s'assurer ici qu'on a bien lavariable add years donc en fait je dis variable mais c'est une clé puisque làon a en fait un dictionnaire on a une liste qui contient un dictionnaire quia plusieurs clés avec des valeurs donc la clé add years elle est à true ça
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.