Как установить и подключить Bootstrap 5 в Django

С момента релиза в 2013 году Bootstrap заметно упростил создание адаптивных интерфейсов. Bootstrap — популярный фронтенд-фреймворк для быстрой верстки и компонентов.
Django совместим с Bootstrap: вы применяете преднастроенные CSS-стили и JS-плагины для оформления страниц. Это сокращает время на дизайн, но требует корректной настройки внутри проекта.
В этой инструкции показано, как установить и настроить Bootstrap 5 в приложении Django (пример — приложение gallery с навигационной панелью).
Требования и подготовка
- Python и pipenv установлены.
- Создан Django-проект и приложение gallery.
- Понимание базовых шаблонов Django и структуры проекта.
Важно: выбор метода подключения Bootstrap определяет дальнейшие шаги. Варианты: локальный пакет (django-bootstrap5) или CDN. Здесь рассматривается локальный пакет.
Установка Bootstrap через django-bootstrap5
В корне виртуального окружения выполните:
pipenv install django-bootstrap5 # устанавливает обертку для Bootstrap 5Проверьте Pipfile — dependency должна появиться в секции [packages].
Затем зарегистрируйте приложение в settings.py проекта:
INSTALLED_APPS = [
'gallery',
'bootstrap5',
# другие приложения
]Добавление “bootstrap5” в INSTALLED_APPS делает теги и фильтры django-bootstrap5 доступными во всём проекте.
Подключение Bootstrap в шаблоне
Рекомендуется использовать базовый шаблон base.html и включать в него общие подключения CSS/JS. Создайте папку templates в приложении gallery и внутри файлы base.html и navbar.html.
Пример простого base.html (с комментариями):
{% load bootstrap5 %}
Галерея
{% block styles %}
{% bootstrap_css %}
{% endblock %}
{% include 'navbar.html' %}
{% block content %}{% endblock %}
{% block scripts %}
{% bootstrap_javascript %}
{% endblock %}
Пояснения:
- {% load bootstrap5 %} загружает теги django-bootstrap5.
- {% bootstrap_css %} вставляет ссылку на CSS внутри .
- {% bootstrap_javascript %} подключает дополнительные JS-теги (если необходимо).
- Блоки styles/scripts позволяют при необходимости дополнять набор зависимостей в дочерних шаблонах.
Пример navbar.html
Добавьте навигацию и примените классы Bootstrap:
Обратите внимание: для Bootstrap 5 атрибуты data-* и классы немного отличаются от Bootstrap 4 (например, data-bs-toggle и ms-auto вместо ml-auto).

Тестирование конфигурации
- Запустите сервер: python manage.py runserver
- Откройте страницу с вашим шаблоном в браузере.
- Уменьшайте/увеличивайте ширину окна — проверьте адаптивность navbar.
- Проверьте, что кнопка-тогглер разворачивает меню на малых экранах.
Если стили не применяются — откройте DevTools и убедитесь, что CSS-файл Bootstrap загружен и не блокируется CSP.
Почему стоит использовать Bootstrap с Django
- Быстрая вёрстка: готовые компоненты, сетка и утилиты ускоряют создание UI.
- Адаптивность: преднастройки для мобильных устройств.
- Совместимость: множество готовых шаблонов и расширений.
Bootstrap удобен, когда нужна быстрая и предсказуемая вёрстка. Для более тонкой кастомизации можно переопределять переменные SCSS или писать свой CSS.
Альтернативные подходы
- CDN-подключение: проще, но зависит от внешнего сервиса.
- Tailwind CSS: утилитарный подход с меньшим объёмом кода в сборке, но крутая кривая обучения.
- Кастомный CSS: максимум контроля, больше работы.
- django-crispy-forms или django-widget-tweaks для удобной интеграции форм.
Когда подключение Bootstrap нежелательно
- Нужен минимальный размер страницы и критичный TTFB — сторонние CSS могут увеличить нагрузку.
- Дизайн находится под жёсткими брендинговыми требованиями: лучше писать кастомные компоненты.
- Если проект уже основан на другом фреймворке (Tailwind, Material UI).
Важно: Bootstrap — инструмент, а не цель. Выберите его, если он решает задачу эффективнее альтернатив.
Быстрая методология внедрения (шаги)
- Оцените требования к интерфейсу.
- Выберите способ подключения: пакет или CDN.
- Установите django-bootstrap5 и зарегистрируйте в INSTALLED_APPS.
- Создайте base.html с {% bootstrap_css %} и {% bootstrap_javascript %}.
- Настройте компоненты (navbar, карточки, формы).
- Тестируйте на устройствах и правьте стили.
Рольовые чек-листы
Разработчик:
- Установил django-bootstrap5.
- Добавил «bootstrap5» в INSTALLED_APPS.
- Подключил теги в base.html.
- Проверил реактивность и поведения JS.
Дизайнер:
- Утвердил вариации цветов и размеров.
- Подготовил графику и иконки.
Ревьювер:
- Убедился в отсутствии конфликтов классов.
- Проверил доступность (a11y) навигации и форм.
Критерии приёмки
- Bootstrap CSS и JS успешно загружаются (проверка по Network).
- Navbar корректно сворачивается и разворачивается на мобильных размерах.
- Формы и кнопки выглядят ожидаемо и работают.
- Нет конфликтов с глобальными стилями проекта.
Краткий глоссарий
- Bootstrap: библиотека CSS/JS для UI-компонентов.
- django-bootstrap5: интеграционный пакет, который упрощает подключение Bootstrap в Django.
- base.html: базовый шаблон, от которого наследуются другие страницы.
Тестовые сценарии
- Открыть страницу на ширине 375px и убедиться, что меню скрыто за тогглером.
- Нажать тогглер — меню появляется.
- Проверить кнопки и формы — отправка формы должна срабатывать без ошибок JS.
Подводные камни и советы
- В Bootstrap 5 изменены префиксы data-атрибутов (data-bs-*). Если вы копируете код из примеров для Bootstrap 4 — скорректируйте их.
- Проверьте, что ваши кастомные стили не используют классы Bootstrap со схожими именами.
- При использовании CDN учитывайте политику CSP и оффлайн-доступ.
Вывод
Bootstrap 5 легко интегрируется в Django через django-bootstrap5 и значительно ускоряет создание адаптивного интерфейса. Подключите пакет, добавьте теги в base.html и применяйте готовые компоненты. Если нужен тонкий контроль над дизайном или минимальный размер бандла — рассмотрите альтернативы.
Сводка:
- Установите django-bootstrap5 и зарегистрируйте в INSTALLED_APPS.
- Подключите {% bootstrap_css %} и {% bootstrap_javascript %} в base.html.
- Используйте готовые классы Bootstrap для быстрой верстки.
Похожие материалы
Как массово закрыть приложения на Mac
Xbox One не подключается к Wi‑Fi — как исправить
Как скачать старые версии Internet Explorer
PayPal для побочного заработка — приёмы и чеклисты
Конвертация M4A в MP3 на iPhone без компьютера