Menu
CoddyTech

Ein Template einbinden

Teil des Abschnitts Django-Grundlagen der Django-Journey von Coddy. Lektion 19 von 23.

Eine Getränkekarte (Name, Beschreibung, Preis) gehört für das heutige Angebot auf die Startseite und für jedes Getränk auf /drinks/. Sie ist in menu/templates/menu/drink_card.html fertig. Statt sie in zwei Vorlagen zu kopieren, bindest du sie ein:

{% include "shop/price_tag.html" %}

Die eingebundene Vorlage wird an der Stelle des Tags eingefügt und sieht dieselben Variablen. Wenn das Preisschild {{ product.price }} liest, funktioniert es innerhalb von {% for product in products %}. Wenn der Eintrag einen anderen Namen hat, übergibt with den Namen, den das Stück erwartet:

{% include "shop/price_tag.html" with product=deal %}
{% extends %} teilt einen Rahmen; {% include %} teilt ein Stück. Ändere das Stück einmal, und jede Seite übernimmt die Änderung.
challenge icon

Aufgabe

Einfach
  • Ersetze auf der Startseite <p>Today's special: ...</p> durch <p>Today's special:</p>, gefolgt von der Getränkekarte für special.
  • Ersetze unter /drinks/ innerhalb jedes <li class="drink"> den Link und den Preis durch die Getränkekarte. Behalte die Markierung „Sold out“ bei.

Klicke auf Ausführen: Auf beiden Seiten werden dieselben Karten angezeigt.

Probier es selbst

{% 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 %}

Alle Lektionen in Django-Grundlagen

Übe selbstständig: Django-Playground