Использование шаблонов Django

65 минут Урок 8

Введение. В этом уроке мы рассмотрим использование шаблонов Django для создания веб-интерфейса. Шаблоны позволяют разделять логику приложения и его представление, что упрощает разработку и поддержку кода.

Что такое шаблоны? Шаблоны в Django — это файлы, содержащие HTML-код с возможностью вставки динамических данных. Использование шаблонов помогает создавать более гибкие и удобные интерфейсы.

Ключевые термины
Шаблон
Файл, который определяет структуру HTML-страницы и содержит динамические данные.
Контекст
Словарь, содержащий данные, которые будут переданы в шаблон при его рендеринге.
Фильтры
Специальные функции, используемые для изменения отображения данных в шаблонах.
Теги
Команды, которые управляют логикой отображения в шаблонах.

Основы работы со шаблонами Django.

  • Создание файла шаблона: Шаблоны обычно хранятся в директории templates.
  • Использование тега {% %} для вставки логики.
  • Использование тега {{ }} для отображения значений контекста.

html
<html>
<head>
    <title>{% block title %}Мой сайт{% endblock %}</title>
</head>
<body>
    <header>
        <h1>{% block header %}Заголовок сайта{% endblock %}</h1>
    </header>
    <section>
        {% block content %}{% endblock %}
    </section>
</body>
</html>

Применение фильтров. Фильтры позволяют модифицировать данные перед их отображением. Например, можно использовать фильтр для изменения регистра текста:

html
<p>{{ my_text|upper }}</p>  <!-- Преобразует текст в верхний регистр -->
Вопрос

Что такое фильтры в Django?

Работа с помощью контекста. При рендеринге шаблона необходимо передать ему контекст — данные, которые будут использоваться в шаблоне.

python
from django.shortcuts import render

def my_view(request):
    context = {'my_text': 'Привет, мир!'}
    return render(request, 'my_template.html', context)
Практический сценарий: Кейс: Создание простого шаблона

Вы разработчик, который должен создать шаблон для отображения приветствия пользователя на сайте.

Задание:
Создайте шаблон <code>greeting.html</code>, используя контекст: {'username': 'Алексей'} и соответствующий HTML-код.
Упражнение

Создайте новый шаблон и добавьте в него отображение имени пользователя.

Чек-лист для работы с шаблонами Django