Menu
CoddyTech

Подключение шаблона

Часть раздела Основы Django путешествия по Django на Coddy. Урок 19 из 23.

Карточка напитка (название, описание, цена) нужна на главной странице для сегодняшнего спецпредложения и на /drinks/ для каждого напитка. Она готова в menu/templates/menu/drink_card.html. Вместо того чтобы копировать её в два шаблона, подключи её:

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

Подключённый шаблон вставляется туда, где находится тег, и видит те же переменные. Если ценник использует {{ product.price }}, он работает внутри {% for product in products %}. Если у элемента другое имя, with передаёт имя, которое ожидает этот фрагмент:

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

{% extends %} позволяет использовать общую основу; {% include %} — общий фрагмент. Измени фрагмент один раз — и изменения отобразятся на каждой странице.

challenge icon

Задание

Легко

Покажите карточку напитка из drink_card.html на обеих страницах.

  1. В home.html замените <p>Today's special: ...</p> на <p>Today's special:</p>, а затем добавьте карточку напитка для special.
  2. В drinks.html внутри каждого <li class="drink"> замените ссылку и цену карточкой напитка. Оставьте отметку «Распродано».

Нажмите Запустить: на главной странице и на странице /drinks/ отображаются одинаковые карточки.

Попробуйте сами

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

Все уроки раздела Основы Django

Потренируйтесь самостоятельно: Песочница Django