Menu
CoddyTech

Incluindo um Template

Parte da seção Fundamentos do Django do Journey de Django da Coddy. Lição 19 de 23.

Um cartão de bebida (nome, descrição, preço) deve aparecer na página inicial para a oferta especial de hoje e em /drinks/ para cada bebida. Ele está pronto em menu/templates/menu/drink_card.html. Em vez de copiá-lo para dois templates, inclua-o:

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

O template incluído é inserido onde está a tag e tem acesso às mesmas variáveis. Se a etiqueta de preço lê {{ product.price }}, ela funciona dentro de {% for product in products %}. Quando o item tem outro nome, with passa o nome que a peça espera:

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

{% extends %} compartilha uma estrutura; {% include %} compartilha uma peça. Altere a peça uma vez e todas as páginas acompanham a mudança.

challenge icon

Desafio

Fácil

Exiba o cartão da bebida de drink_card.html nas duas páginas.

  1. Em home.html, substitua <p>Today's special: ...</p> por <p>Today's special:</p>, seguido pelo cartão da bebida para special.
  2. Em drinks.html, dentro de cada <li class="drink">, substitua o link e o preço pelo cartão da bebida. Mantenha a indicação de esgotado.

Pressione Executar: a página inicial e /drinks/ exibem os mesmos cartões.

Experimente você mesmo

{% 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 as lições de Fundamentos do Django

Pratique por conta própria: Playground de Django