Вложенные шаблоны в Django
Пусть у нас есть страница сайта с шапкой, сайдбаром, контентом и подвалом:
<!DOCTYPE html>
<html>
<head>
<title>My Site</title>
</head>
<body>
<header>
header
</header>
<aside>
sidebar
</aside>
<main>
content
</main>
<footer>
footer
</footer>
</body>
</html>
Такой код неудобно повторять на каждой странице. Давайте вынесем повторяющиеся части в отдельные файлы.
Файл шапки header.html:
<header>
header
</header>
Файл сайдбара sidebar.html:
<aside>
sidebar
</aside>
Файл подвала footer.html:
<footer>
footer
</footer>
Теперь эти файлы можно подключить
в основном шаблоне тегом
{% include %}. Django ищет
их так же, как обычные шаблоны -
в папках templates приложений.
Давайте перепишем наш макет с подключением частей:
<!DOCTYPE html>
<html>
<head>
<title>My Site</title>
</head>
<body>
{% include 'header.html' %}
{% include 'sidebar.html' %}
<main>
content
</main>
{% include 'footer.html' %}
</body>
</html>
Дан макет сайта с хедером, футером
и сайдбаром. Вынесите хедер, футер
и сайдбар в отдельные файлы
и подключите через include.