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 oferta especial de hoy 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 la parte espera:

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

{% extends %} comparte un marco; {% include %} comparte una parte. Cambia la parte una vez y todas las páginas se actualizan.

challenge icon

Desafío

Fácil

Muestra la tarjeta de bebida de drink_card.html en ambas páginas.

  1. En home.html, reemplaza <p>Today's special: ...</p> por <p>Today's special:</p> seguido de la tarjeta de bebida para special.
  2. En drinks.html, dentro de cada <li class="drink">, reemplaza el enlace y el precio por la tarjeta de bebida. Mantén la marca «Agotado».

Pulsa «Ejecutar»: la página de inicio y /drinks/ 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