
Django 6. Базовый шаблон
В этом посте, создадим базовый шаблон и подключим Bootstrap5.
Все статьи

- 30 Январь 2025 Django 45. Оглавление статьи, кнопка "Вернуться наверх" и "Поделиться" Комментарии к посту
- 25 Июль 2024 Django 44. Отправка электронной почты в фоновом режиме Комментарии к посту
- 18 Июль 2024 Django 43. Подключаем Celery и Redis для фоновой отправки почты Комментарии к посту
- 06 Июнь 2024 Django 42. Запуск Django-проекта на VPS Комментарии к посту
- 03 Апрель 2024 Django 41. Комментарии к постам Комментарии к посту
- 25 Январь 2024 Django 40. Собственные страницы ошибок Комментарии к посту
- 09 Январь 2024 Django 39. Капча и подтверждение регистрации по email Комментарии к посту
- 19 Декабрь 2023 Django 38.2. Добавление, редактирование, удаление поста Комментарии к посту
- 14 Декабрь 2023 Django 38.1. Кабинет и все посты автора Комментарии к посту
- 28 Ноябрь 2023 Django 37. Две формы - добавление категории и файла Комментарии к посту
- 13 Ноябрь 2023 Django 36. Добавление постов пользователем Комментарии к посту
- 31 Октябрь 2023 Django 35.2. Расширенный профиль пользователя - форма и шаблон Комментарии к посту
- 29 Октябрь 2023 Django 35.1. Расширенный профиль пользователя - модель и сигналы Комментарии к посту
- 25 Октябрь 2023 Django 34.2. Простой профиль пользователя - страница настроек Комментарии к посту
- 23 Октябрь 2023 Django 34.1. Простой профиль пользователя - страница профиля Комментарии к посту
- 20 Октябрь 2023 Django 33. Сброс пароля пользователя Комментарии к посту
- 12 Октябрь 2023 Django 32. Форма регистрации Комментарии к посту
- 09 Октябрь 2023 Django 31. Форма авторизации и кнопка выхода Комментарии к посту
- 29 Сентябрь 2023 Django 30. Рефакторинг и допущенные ошибки Комментарии к посту
- 16 Сентябрь 2023 Django 29.2 Добавляем поиск на сайт, продолжение Комментарии к посту
- 14 Сентябрь 2023 Django 29.1 Добавляем поиск на сайт Комментарии к посту
- 08 Сентябрь 2023 Django 28. Добавляем пагинацию на сайт Комментарии к посту
- 06 Сентябрь 2023 Django 27.2 Представления на основе классов - Практика Комментарии к посту
- 06 Сентябрь 2023 Django 27.1 Представления на основе классов Комментарии к посту
- 06 Сентябрь 2023 Django 26. Контекстные процессоры Комментарии к посту
- 06 Сентябрь 2023 Django 25. Добавляем теги к постам Комментарии к посту
- 06 Сентябрь 2023 Django 24. Связь модели файла и поста Комментарии к посту
- 06 Сентябрь 2023 Django 23. Добавляем sitemap и счётчики Комментарии к посту
- 06 Сентябрь 2023 Django 22. Представление для страницы поста Комментарии к посту
- 05 Сентябрь 2023 Django 21. Регистрация модели поста Комментарии к посту
- 05 Сентябрь 2023 Django 20. Модель поста Комментарии к посту
- 05 Сентябрь 2023 Django 19. Визуальный редактор CKEditor5 Комментарии к посту
- 05 Сентябрь 2023 Django 18. Представление для главной и категорий Комментарии к посту
- 05 Сентябрь 2023 Django 17. Разделение шаблонов Комментарии к посту
- 05 Сентябрь 2023 Django 16. Модель категорий Комментарии к посту
- 05 Сентябрь 2023 Django 15. Пишем API - Добавление пользователя Комментарии к посту
- 05 Сентябрь 2023 Django 14. Модель пользователя бота Комментарии к посту
- 02 Сентябрь 2023 Django 13. Сброс пароля Комментарии к посту
- 02 Сентябрь 2023 Django 12. Настройка отправки почты Комментарии к посту
- 10 Август 2023 Django 11. Пишем API - Обработчик запросов Комментарии к посту
- 10 Август 2023 Django 10. Пишем API - Сериализатор Комментарии к посту
- 08 Август 2023 Django 9. Регистрация модели Комментарии к посту
- 08 Август 2023 Django 8. Первая модель Комментарии к посту
- 03 Август 2023 Django 7. Первое представление Комментарии к посту
- 03 Август 2023 Django 6. Базовый шаблон Комментарии к посту
- 30 Июль 2023 Django 5. Инициализация приложения блога Комментарии к посту
- 27 Июль 2023 Django 4. Суперпользователь и первый запуск Комментарии к посту
- 26 Июль 2023 Django 3. Базовая конфигурация Комментарии к посту
- 26 Июль 2023 Django 2. Создание проекта Комментарии к посту
- 23 Июль 2023 Django 1. Установка Django Комментарии к посту
Дополнительные материалы

Для скачивания материалов необходимо войти или зарегистрироваться
Файлы также можно получить в Telegram-боте по коду: 153069
Реклама

В базовый шаблон прописывается то, что должно быть на всех страницах сайта. Подключаются все необходимые файлы стилей и скриптов, прописываются мета-теги.
Bootstrap5.
Для создания шаблона, мы будем использовать CSS-фреймворк Bootstrap5.
Давайте его скачаем. Нам нужен CSS-файл и JS-файл.
CSS: https://bootswatch.com/5/lumen/bootstrap.css
JS: https://raw.githubusercontent.com/twbs/bootstrap/v5.3.0/dist/js/bootstrap.bundle.js
Если у вас в браузере, файл не скачивается, а открылся для просмотра, просто нажмите сочетание клавиш CTRL+S
В директории приложения blog
создаём папку static
, а в ней ещё две папки css
и js
.
Помещаем скачанные файлы в соответствующие папки в директории static
.

В директории приложения blog
, создаём папку templates
, а в ней папку с названием приложения, то есть, тоже blog
.
Должна получиться такая иерархия <проект>/blog/templates/blog
. Если вы использовали иное название для приложения, то замените blog
, на соответствующее.

Base.html.
Директория blog
в папке templates
, это место, где будут храниться шаблоны связанные с приложением blog
. Создадим там файл base.html
со следующим содержимым:
{% load static %}
<!DOCTYPE html>
<html lang="ru" data-bs-theme="dark" class="h-100">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Press Any Button</title>
<link href="{% static "css/bootstrap.css" %}" rel="stylesheet">
</head>
<body class="d-flex flex-column h-100">
<section class="al mt-3">
<div class="container justify-content-center">
<div class="alert alert-dismissible alert-warning">
<h4 class="alert-heading">Приветствую вас!</h4>
<h5 class="mb-0">Сайт находится в процессе разработки.<br>
Следить за процессом разработки и повторять действия, можно в <a href="https://t.me/press_any_button">Telegram-канале
"Код на салфетке"</a></h5>
</div>
</div>
</section>
<script src="{% static "js/bootstrap.bundle.js" %}"></script>
</body>
</html>

Как видим, используется обычная HTML-разметка, с добавлением специальных Django-тегов.
Тег {% load static %}
сообщает Django, что в шаблоне используются статические файлы из папки static
.
В месте, где мы подключаем CSS и JS файлы, используется тег {% static "путь_до_файла_в_папке_static" %}
Это будет наш базовый шаблон. Впоследствии мы его модернизируем и от него будут наследоваться шаблоны других страниц.
Комментарии
-
-
6 января 2025 г. 9:20
{% load static %} это тег Django-шаблонизатора, он не мешает формированию HTML-файла. Его (и другие подобные теги) можно расположить в любой части кода, главное, чтобы он был над тем местом, где вызывается функционал тега.
-
ЮлияБ
5 января 2025 г. 19:52
Здравствуйте. Хотелось бы уточнить, а как получилось load static расположить выше DOCTYPE без получения ошибки? Вроде же определение типа документа обязательно должно идти первой строкой?
Войдите чтобы добавить комментарий.