Menu
CoddyTech

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 }}, elle fonctionne dans {% for product in products %}. Si l’élément porte un autre nom, with transmet le nom attendu par le composant :

{% include "shop/price_tag.html" with product=deal %}
{% extends %} partage un cadre ; {% include %} partage un composant. Modifiez le composant une seule fois et toutes les pages sont mises à jour.
challenge icon

Défi

Facile
  • Sur la page d’accueil, remplacez <p>Today's special: ...</p> par <p>Today's special:</p>, puis ajoutez la carte de boisson pour special.
  • Sur /drinks/, dans chaque <li class="drink">, remplacez le lien et le prix par la carte de boisson. Conservez la mention « Épuisé ».

Cliquez sur Exécuter : les deux pages 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

Entraînez-vous par vous-même : Playground Django