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

Задание

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

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

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

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