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 }}, 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.

challenge icon

Défi

Facile

Affiche la carte de boisson de drink_card.html sur les deux pages.

  1. Dans home.html, remplace <p>Today's special: ...</p> par <p>Today's special:</p>, puis ajoute la carte de boisson pour special.
  2. 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

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