Menu
CoddyTech

Incluir una plantilla

Parte de la sección Conceptos básicos de Django del Journey de Django de Coddy. Lección 19 de 23.

Una tarjeta de bebida (nombre, descripción, precio) debe aparecer en la página de inicio para la especialidad del día y en /drinks/ para cada bebida. Está lista en menu/templates/menu/drink_card.html. En lugar de copiarla en dos plantillas, inclúyela:

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

La plantilla incluida se inserta donde está la etiqueta y ve las mismas variables. Si la etiqueta de precio lee {{ product.price }}, funciona dentro de {% for product in products %}. Cuando el elemento tiene otro nombre, with pasa el nombre que espera el fragmento:

{% include "shop/price_tag.html" with product=deal %}
{% extends %} comparte un marco; {% include %} comparte un fragmento. Cambia el fragmento una sola vez y todas las páginas se actualizan.
challenge icon

Desafío

Fácil
  • En la página de inicio, reemplaza <p>Today's special: ...</p> por <p>Today's special:</p>, seguido de la tarjeta de bebida para special.
  • En /drinks/, dentro de cada <li class="drink">, reemplaza el enlace y el precio por la tarjeta de bebida. Mantén la marca de Agotado.

Presiona Ejecutar: ambas páginas muestran las mismas tarjetas.

Pruébalo tú mismo

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

Todas las lecciones de Conceptos básicos de Django

Practica por tu cuenta: Playground de Django