Différences
Ci-dessous, les différences entre deux révisions de la page.
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:heritage-templates [2023/11/03 14:58] – edauce | public:appro-s7:td_web:heritage-templates [2023/11/04 18:07] (Version actuelle) – edauce | ||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
Créons le fichier base.html dans le dossier blog/ | Créons le fichier base.html dans le dossier blog/ | ||
- | blog | + | |
- | └───templates | + | └───templates |
- | └───blog | + | └───blog |
base.html | base.html | ||
post_list.html | post_list.html | ||
Ligne 18: | Ligne 18: | ||
Ensuite, ouvrez ce fichier dans l' | Ensuite, ouvrez ce fichier dans l' | ||
- | blog/ | + | '' |
+ | <code html> | ||
{% load static %} | {% load static %} | ||
< | < | ||
Ligne 51: | Ligne 51: | ||
</ | </ | ||
</ | </ | ||
+ | </ | ||
- | Puis, dans le fichier base.html, remplacez tout ce qui se trouve dans < | + | Puis, dans le fichier |
- | + | ||
- | blog/ | + | |
+ | '' | ||
+ | <code html> | ||
< | < | ||
<div class=" | <div class=" | ||
Ligne 69: | Ligne 70: | ||
</ | </ | ||
</ | </ | ||
+ | </ | ||
Vous pouvez remarquer qu'on vient de remplacer tout ce qui était entre {% for billet in billets %} et {% endfor %} avec : | Vous pouvez remarquer qu'on vient de remplacer tout ce qui était entre {% for billet in billets %} et {% endfor %} avec : | ||
- | blog/ | + | '' |
+ | <code html> | ||
{% block content %} | {% block content %} | ||
{% endblock %} | {% endblock %} | ||
+ | </ | ||
- | Mais pourquoi? Vous venez de créer un block ! Vous avez utilisé la balise de modèle {% block %} pour créer une partie qui va contenir du HTML. Ce HTML viendra d'un autre modèle qui étendra ce modèle-ci (base.html). Nous vous expliquerons comment faire cela dans un instant. | + | Mais pourquoi? Vous venez de créer un block ! Vous avez utilisé la balise de modèle |
- | Enregistrez base.html et ouvrez votre blog/ | + | Enregistrez base.html et ouvrez votre '' |
- | + | ||
- | blog/ | + | |
+ | '' | ||
+ | <code html> | ||
{% for billet in billets %} | {% for billet in billets %} | ||
<div class=" | <div class=" | ||
Ligne 92: | Ligne 94: | ||
</ | </ | ||
{% endfor %} | {% endfor %} | ||
+ | </ | ||
Nous voulons utiliser ceci dans le cadre de notre modèle pour tous les blocs ' | Nous voulons utiliser ceci dans le cadre de notre modèle pour tous les blocs ' | ||
- | Vous voulez que votre balise block corresponde à la balise dans votre fichier base.html . Vous voulez aussi qu'il inclue tout le code qui appartient à vos blocs de contenu. Pour faire cela, entourez tout le code de {% block content %} et {% endblock %}. Comme ceci : | + | Vous voulez que votre balise block corresponde à la balise dans votre fichier base.html . Vous voulez aussi qu'il inclue tout le code qui appartient à vos blocs de contenu. Pour faire cela, entourez tout le code de '' |
- | + | ||
- | blog/ | + | |
+ | '' | ||
+ | <code html> | ||
{% block content %} | {% block content %} | ||
{% for billet in billets %} | {% for billet in billets %} | ||
Ligne 110: | Ligne 113: | ||
{% endfor %} | {% endfor %} | ||
{% endblock %} | {% endblock %} | ||
+ | </ | ||
Seule une chose reste à faire. Nous devons connecter ces deux modèles ensemble. C'est ça, étendre des modèles ! Nous allons le faire en ajoutant une balise ' | Seule une chose reste à faire. Nous devons connecter ces deux modèles ensemble. C'est ça, étendre des modèles ! Nous allons le faire en ajoutant une balise ' | ||
- | blog/ | + | '' |
+ | <code html> | ||
{% extends ' | {% extends ' | ||
Ligne 128: | Ligne 131: | ||
{% endfor %} | {% endfor %} | ||
{% endblock %} | {% endblock %} | ||
+ | </ | ||
Et voilà ! Enregistrez le fichier et vérifiez que votre site fonctionne toujours correctement. :) | Et voilà ! Enregistrez le fichier et vérifiez que votre site fonctionne toujours correctement. :) | ||
- | | + | Si vous obtenez l' |
[[public: | [[public: | ||