Inclusione di un template
Fa parte della sezione Fondamenti di Django del percorso Django di Coddy. Lezione 19 di 23.
Una scheda di bevanda (nome, descrizione, prezzo) deve comparire nella pagina iniziale per la specialità di oggi e in /drinks/ per ogni bevanda. È pronta in menu/templates/menu/drink_card.html. Invece di copiarla in due modelli, includila:
{% include "shop/price_tag.html" %}Il modello incluso viene inserito nel punto in cui si trova il tag e vede le stesse variabili. Se il cartellino del prezzo legge {{ product.price }}, funziona all'interno di {% for product in products %}. Se l'elemento ha un altro nome, with passa il nome che il frammento si aspetta:
{% include "shop/price_tag.html" with product=deal %}{% extends %} condivide una struttura; {% include %} condivide un frammento. Modifica il frammento una volta sola e tutte le pagine si aggiorneranno.Sfida
Facile- Nella pagina iniziale, sostituisci
<p>Today's special: ...</p>con<p>Today's special:</p>, seguito dalla scheda della bevanda perspecial. - In
/drinks/, all'interno di ogni<li class="drink">, sostituisci il link e il prezzo con la scheda della bevanda. Mantieni l'indicazione «Esaurito».
Premi Esegui: entrambe le pagine mostrano le stesse schede.
Provalo tu
{% 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 %}
Tutte le lezioni di Fondamenti di Django
4Layout e file statici
Ereditarietà dei templateUn titolo per ogni paginaEsercitati da solo: Playground Django