Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
public:appro-s7:td_web:templates [2023/10/30 22:47] – edauce | public:appro-s7:td_web:templates [2023/11/03 14:59] (Version actuelle) – edauce |
---|
==== Templates Django ==== | ==== 12. Templates Django ==== |
| |
Il est temps d'afficher des données ! Pour nous aider, Django fournit des balises de gabarit (template tags) qui sont intégrées au framework. Pour le reste du tutoriel, nous utiliserons plutôt le mot template, bien plus répandu que sa traduction "gabarit". | Il est temps d'afficher des données ! Pour nous aider, Django fournit des balises de gabarit (template tags) qui sont intégrées au framework. Pour le reste du tutoriel, nous utiliserons plutôt le mot template, bien plus répandu que sa traduction "gabarit". |
Comme vous pouvez le voir, tout ce que nous avons, c'est ceci : | Comme vous pouvez le voir, tout ce que nous avons, c'est ceci : |
| |
blog/templates/blog/post_list.html | ''blog/templates/blog/post_list.html'' |
<code> | <code> |
<QuerySet [<Billet: My second post>, <Billet: My first post>]> | <QuerySet [<Billet: My second post>, <Billet: My first post>]> |
Cela signifie que Django l'interprète comme une liste d'objets. Essayez de vous rappeler comment afficher des listes en Python. Dans un template Django, vous pouvez les écrire de la façon suivante : | Cela signifie que Django l'interprète comme une liste d'objets. Essayez de vous rappeler comment afficher des listes en Python. Dans un template Django, vous pouvez les écrire de la façon suivante : |
| |
blog/templates/blog/post_list.html | ''blog/templates/blog/post_list.html'' |
<code> | <code> |
{% for billet in billets %} | {% for billet in billets %} |
Ça marche ! Cependant, nous aimerions plutôt afficher les billets à la manière des billets statiques, comme lorsque nous les avions créés dans le chapitre Introduction au HTML. Vous pouvez mélanger HTML et balises de template. Notre <body> ressemble maintenant à ceci : | Ça marche ! Cependant, nous aimerions plutôt afficher les billets à la manière des billets statiques, comme lorsque nous les avions créés dans le chapitre Introduction au HTML. Vous pouvez mélanger HTML et balises de template. Notre <body> ressemble maintenant à ceci : |
| |
blog/templates/blog/post_list.html | ''blog/templates/blog/post_list.html'' |
<code html> | <code html> |
<div> | <div> |
{{https://tutorial.djangogirls.org/fr/django_templates/images/step3.png}} | {{https://tutorial.djangogirls.org/fr/django_templates/images/step3.png}} |
| |
Avez-vous remarqué que nous avons utilisé une notation légèrement différente cette fois-ci (''\{\{ billet.title \}\}'' ou ''\{\{ billet.text \}\}'') ? Nous accédons aux données associées à chaque champ défini dans notre modèle Billet. De même, le ''|linebreaksbr'' nous permet de rediriger le texte des billets à travers un filtre qui convertit automatiquement les fins de lignes en paragraphes. | Avez-vous remarqué que nous avons utilisé une notation légèrement différente cette fois-ci (''{{ billet.title }}'' ou ''{{ billet.text }}'') ? Nous accédons aux données associées à chaque champ défini dans notre modèle Billet. De même, le ''|linebreaksbr'' nous permet de rediriger le texte des billets à travers un filtre qui convertit automatiquement les fins de lignes en paragraphes. |
| |
Ça a marché ? Félicitations! | Ça a marché ? Félicitations! |