- 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 va voir les structures conditionnelles avec les balises à l'intérieur du langage de gabarit deDjango. Les balises sont assez facilement reconnaissables. Elles sont représentées par
00:00:11 :une accolade et un symbole pourcentage pour l'ouverture. Ensuite, on va avoir le nom de labalise et ensuite un autre symbole pourcentage et une autre accolade pour fermer la balise.
00:00:20 :Actuellement, j'ai ici un H1 qui contient un texte qui indique le nombre d'articles quisont publiés. Si je vais dans Views, j'ai récupéré tous les articles avec le Primary Key qui est
00:00:32 :contenu dans 10, 11 et 12. Dans ce cas-ci, ça ne correspond à aucun article puisque les articlesvont de 1 à 5 dans ce que j'ai créé dans la base de données. Donc là, 10, 11, 12, ça va me retourner
00:00:43 :0 articles dans Post ici et je vais envoyer ces articles dans le contexte. Si je vais voir monsite, j'ai bien la phrase qui affiche le blog contient 0 articles. Moi, si le blog ne contient
00:00:54 :pas d'articles, je souhaiterais afficher une autre phrase. Donc ce que je vais faire, c'est que jevais aller dans Post ici et je vais créer une structure conditionnelle. C'est exactement la
00:01:02 :même chose que dans Python. Au niveau de la logique, on va créer un if et si la conditionest remplie, on va afficher le bloc H1 à l'intérieur du if. La seule chose qui change,
00:01:13 :c'est au niveau de la nomenclature. Plutôt que d'utiliser un if classique en Python,on va utiliser un if du langage de gabarit de Django. Donc la balise, on va l'ouvrir avec la
00:01:24 :collade et le pourcentage et ensuite vous allez voir c'est très très similaire à ce qu'on aavec Python. Donc on va faire un if et on va dire donc tout simplement if Post. On n'a même pas
00:01:33 :besoin de vérifier le compte ou quoi que ce soit, c'est encore une fois comme dans Python. Si Postici contient quelque chose, donc ici ça va être un query set. Donc si le query set contient au moins
00:01:43 :une entrée, la condition sera vérifiée. Si le post, donc le query set ici, ne contient aucuneentrée, et bien la condition ne sera pas vérifiée. Donc on n'a pas besoin de mettre if Post point
00:01:53 :count est plus grand que zéro ou quelque chose comme ceci, juste if Post ça suffit. On fermeensuite notre balise ici, donc la balise avec le pourcentage et la collade et ensuite on va indiquerque ce tag doit être à l'intérieur de cette condition. Alors comment on fait puisque là
00:02:06 :c'est un peu différent de Python, on n'a pas les indentations. Donc puisqu'avec Python on feraittout simplement une indentation comme ceci pour indiquer que ce tag correspond à cette structureconditionnelle ici, mais là on n'est pas vraiment dans du Python, on est dans du HTML. Donc vous
00:02:19 :allez voir que dans le langage de gabarit de Django, on va devoir fermer ces balises. Donc làc'est la seule différence avec le if de Python, puisque avec Python on fait juste un if, on metavec l'indentation ce que l'on veut à l'intérieur de cette structure, donc de ce bloc, et on n'a pas
00:02:34 :besoin de faire quelque chose de plus. Ici on va devoir fermer la balise, donc on va refaire uneaccolade et un pourcentage, et on va dire end if, tout attaché attention, et je ferme ma balise iciavec là encore le pourcentage et la collade. Donc ça nous permet d'indiquer que cette partie ici,
00:02:50 :donc ce bloc de code HTML, est contenu à l'intérieur de cette condition, donc avec le if qui commenceet le end if qui finit. Et là en fait je ne suis même pas obligé donc de mettre une indentation.
00:02:58 :Je pourrais mettre mon code comme ceci, je préfère mettre une indentation puisque c'est plus clair quece tag appartient au if ici, mais je pourrais très bien ne pas la mettre, ce n'est pas unproblème puisque ici c'est le end if qui spécifie qu'on arrive à la fin de cette structure conditionnelle.
00:03:13 :Donc je vais laisser ça comme ça, et je vais vous montrer que si je reviens ici dans mon site et quej'actualise, là je n'ai rien qui est affiché. Donc notre condition fonctionne correctement, et si je
00:03:22 :vais dans views pour utiliser cette ligne à la place avec les primary keys qui sont dans 1, 2, 3, 4 et 5,si je reviens cette fois-ci sur mon blog et que j'actualise, là vous voyez que ça me dit que leblog contient trois articles, alors trois articles et non pas cinq puisque je crois que les articles
00:03:35 :commencent dans mon cas à 3, 4 et 5, donc il n'y a pas en fait d'articles pour 1 et 2. Donc sij'enlève ça ici, vous allez voir qu'on aura bien la concordance entre les deux. Donc voilà trois
00:03:45 :articles d'un côté, trois articles de l'autre. Donc là c'est juste un exemple, je pourrais mettreall tout simplement pour récupérer tous les articles. Je viens ici, et là vous voyez qu'au
00:03:53 :total j'ai cinq articles dans ma base de données. Donc maintenant qu'est-ce qu'on va vouloir faire,c'est un elif, puisque actuellement on affiche quelque chose si le blog contient des postes,mais on aimerait bien afficher une autre phrase dans le cas de figure où on n'a aucun poste surnotre blog. Donc je vais remettre mon indentation ici et on va faire un elif. Donc on peut faire
00:04:13 :soit un elif en disant par exemple elif not post, comme ceci, et là on afficherait notre phrase,on dirait donc par exemple le blog ne contient aucun article, comme ceci. Et si je reviens dans
00:04:26 :mon navigateur que j'actualise, donc là on est encore avec nos cinq articles, donc je vaisréactiver cette ligne ici qui va me retourner zéro article. Donc je reviens ici, j'actualise,
00:04:35 :et là voilà on a bien cette phrase qui s'affiche donc le blog ne contient aucun article. Donc si jereviens dans mon fichier html, on a correctement fait un elif. Donc là encore vous voyez que ça
00:04:44 :ne change vraiment pas grand chose par rapport à Python, on a juste besoin de spécifier qu'ils'agit d'une balise ici, donc du langage de balise de Django, pour bien faire la distinction entre lelangage html et le langage de Django. Donc on met nos accolades, notre pourcentage, et ensuite ici
00:05:00 :c'est exactement la même chose que dans Python, on met le elif, on met notre condition ici, on n'apas besoin de mettre les deux points, je ne l'ai pas précisé mais c'est assez visible ici, parrapport à Python vous n'avez pas besoin de mettre deux points à la suite, donc on met juste le elif,
00:05:12 :la condition, et c'est pareil pour le else. Donc si on voulait faire un else, on pourrait toutsimplement mettre else ici. Donc là ici soit on l'a déposte, soit on n'en a pas, donc on peut faire
00:05:21 :un simple if else, on n'est pas obligé de préciser la condition, mais je voulais vous montrer qu'onpeut donc faire des elifs, et les elifs on pourrait en faire là encore comme dans Python autant qu'onveut, et pour le else là encore c'est pareil, on met un else, on ne peut avoir qu'un else, donc c'est
00:05:33 :logique, et on a donc une structure conditionnelle de base. Donc je reviens ici, j'actualise, et làj'ai bien la même chose qui s'affiche, donc le blog ne contient aucun article. Donc voilà pour les
00:05:42 :structures conditionnelles, comme je vous dis c'est assez similaire à Python, il faut juste ne pasoublier donc de mettre les accolades et les pourcentages pour spécifier qu'on a bien affaireà une balise Django, ne pas oublier le endif à la fin pour spécifier où se termine notre condition,et après à l'intérieur de ces balises c'est 100% du html, et vous pouvez bien entendu utiliser
Il te reste des vidéos à visionner back_hand
warningTu n'as pas terminé toutes les vidéos de cette partie.
💫
Tu as complété 0% du parcours.