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.Aufgabe
Einfach- Ersetze auf der Startseite
<p>Today's special: ...</p>durch<p>Today's special:</p>, gefolgt von der Getränkekarte fürspecial. - 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
1Deine erste Django-Website
Hallo, DjangoEine zweite Seite4Layouts und statische Dateien
Template-VererbungEin Titel für jede SeiteÜbe selbstständig: Django-Playground