Menu
CoddyTech

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.
challenge icon

Sfida

Facile
  • Nella pagina iniziale, sostituisci <p>Today's special: ...</p> con <p>Today's special:</p>, seguito dalla scheda della bevanda per special.
  • 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

Esercitati da solo: Playground Django