Основы работы с шаблонами в Django 4
Шаблоны в Django позволяют отделить представление данных от логики приложения. Они являются текстовыми файлами, содержащими специальные теги и фильтры для генерации динамического содержимого. Шаблоны могут быть структурированы и организованы с помощью наследования, что облегчает создание и поддержку кода.
Наследование шаблонов
Наследование шаблонов — это мощный механизм, который позволяет создавать базовые шаблоны с общими элементами (например, заголовок, подвал и навигационное меню) и наследовать их в дочерних шаблонах. В базовом шаблоне определяются блоки, которые могут быть переопределены в дочерних шаблонах.
Создание базового шаблона
Сначала создайте базовый шаблон, определив в нем общие элементы и блоки для переопределения. Базовый шаблон обычно называется base.html
:
<!DOCTYPE html>
<html>
<head>
<title>{% block title %}Default Title{% endblock %}</title>
</head>
<body>
<header>
<nav>...</nav>
</header>
<main>
{% block content %}{% endblock %}
</main>
<footer>...</footer>
</body>
</html>
Создание дочернего шаблона
Дочерние шаблоны позволяют наследовать структуру и содержимое родительского шаблона, добавляя или переопределяя определенные блоки. Для создания дочернего шаблона используйте тег {% extends %}
в начале шаблона, указав имя родительского шаблона. Затем определите блоки, которые вы хотите переопределить или добавить, с помощью тегов {% block %}
и {% endblock %}
:
{% extends 'base.html' %}
{% block title %}My Custom Title{% endblock %}
{% block content %}
Welcome to My Page
This is the content of my page.
{% endblock %}
Подключение статических файлов
Ваши шаблоны могут включать ссылки на статические файлы, такие как изображения, CSS и JavaScript. Чтобы правильно подключить статические файлы, используйте тег {% static %}
:
<link rel="stylesheet" href="{% static 'css/styles.css' %}">
<script src="{% static 'js/scripts.js' %}"></script>
Вывод переменных и использование фильтров
Для вывода переменных из представления в шаблон используйте двойные фигурные скобки {{ variable }}
. Вы также можете применять фильтры к переменным, чтобы изменять их отображение. Например, можно применить фильтр date
для форматирования даты:
<p>Дата публикации: {{ post.published_date|date:"F j, Y" }}</p>
Следуя этим рекомендациям, вы сможете эффективно работать с шаблонами и наследованием шаблонов в Django 4, создавая удобные и легко поддерживаемые веб-приложения.