Inclure un template
Fait partie de la section Les bases de Django du Journey Django de Coddy. Leçon 19 sur 23.
Une fiche de boisson (nom, description, prix) doit figurer sur la page d’accueil pour la spécialité du jour et sur /drinks/ pour chaque boisson. Elle se trouve dans menu/templates/menu/drink_card.html. Au lieu de la copier dans deux modèles, incluez-la :
{% include "shop/price_tag.html" %}Le modèle inclus est inséré à l’emplacement de la balise et voit les mêmes variables. Si l’étiquette de prix lit {{ product.price }}, cela fonctionne à l’intérieur de {% for product in products %}. Si l’élément porte un autre nom, with transmet le nom attendu par le fragment :
{% include "shop/price_tag.html" with product=deal %}{% extends %} partage un cadre ; {% include %} partage un fragment. Modifiez le fragment une seule fois et toutes les pages sont mises à jour.
Défi
FacileAffiche la carte de boisson de drink_card.html sur les deux pages.
- Dans
home.html, remplace<p>Today's special: ...</p>par<p>Today's special:</p>, puis ajoute la carte de boisson pourspecial. - Dans
drinks.html, à l'intérieur de chaque<li class="drink">, remplace le lien et le prix par la carte de boisson. Garde la mention « Épuisé ».
Appuie sur « Jouer » : la page d'accueil et /drinks/ affichent les mêmes cartes.
Essayez vous-même
{% extends "menu/base.html" %}
{% block content %}
<h1>Welcome to Corner Café</h1>
<p>Fresh coffee and cake every day.</p>
<p>Today's special: {{ special.name }}</p>
<a href="{% url 'menu:about' %}">About us</a>
{% endblock %}
Toutes les leçons de Les bases de Django
1Votre premier site Django
Bonjour, DjangoUne deuxième page4Mises en page et fichiers statiques
Héritage des templatesUn titre pour chaque pageEntraînez-vous par vous-même : Playground Django