Menu
CoddyTech

Inclusione di un template

Fa parte della sezione Fondamenti di Django del percorso Django di Coddy. Lezione 19 di 23.

Una scheda bevanda (nome, descrizione, prezzo) va 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 template, includila:

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

Il template incluso viene inserito nel punto in cui si trova il tag e ha accesso alle stesse variabili. Se l'etichetta 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 componente si aspetta:

{% include "shop/price_tag.html" with product=deal %}

{% extends %} condivide una struttura; {% include %} condivide un componente. Modifica il componente una sola volta e tutte le pagine si aggiornano.

challenge icon

Sfida

Facile

Mostra la scheda della bevanda da drink_card.html in entrambe le pagine.

  1. In home.html, sostituisci <p>Today's special: ...</p> con <p>Today's special:</p>, seguito dalla scheda della bevanda per special.
  2. In drinks.html, all'interno di ogni <li class="drink">, sostituisci il collegamento e il prezzo con la scheda della bevanda. Mantieni l'indicazione di esaurimento.

Premi Esegui: la pagina iniziale e /drinks/ 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