Темы для Django Admin: Unfold, Jazzmin, Grappelli и django-admin-interface
Сравниваем популярные темы оформления Django Admin: установка Unfold, Jazzmin, Grappelli и django-admin-interface, их сильные стороны и ограничения.
Содержание · 11 разделов
- Нужна ли тема вообще
- Коротко: что выбрать
- Сравнение по возможностям
- Unfold
- Jazzmin
- Grappelli
- django-admin-interface
- Другие темы
- На что смотреть перед выбором
- Частые вопросы
- Можно ли подключить две темы одновременно?
- Темы бесплатные?
- Почему после установки тема не применилась?
- Как вернуться к стандартной админке?
- Подойдёт ли тема админки для клиентской части сайта?
- Итог
Готовая тема для Django Admin меняет оформление стандартной админки и часто добавляет возможности: боковое меню, тёмный режим, дашборды, модальные окна. Для новой админки, которая станет основным рабочим инструментом, чаще выбирают Unfold; чтобы освежить существующую без правок admin.py — Jazzmin; для консервативного проекта с привязкой к версиям Django — Grappelli; если нужны только фирменные цвета и логотип — django-admin-interface.
Ниже — сравнение по поддержке Django, объёму изменений в коде и возможностям, установка каждой темы и критерии выбора. Данные о версиях актуальны на октябрь 2026 года.
Нужна ли тема вообще
Встроенная админка давно не выглядит как в 2010-х: с Django 3.1 в ней есть боковая навигация по моделям, с 3.2 — тёмная тема, с 4.2 — переключатель темы в шапке. Если нужны фирменные цвета, логотип и пара своих блоков, хватит переопределения шаблонов и CSS-переменных — см. темизацию Django Admin без хаков. Тема оправдана, когда нужен другой интерфейс: сгруппированное меню с иконками, расширенные фильтры, дашборд с компонентами, вкладки в формах.
Коротко: что выбрать
| Тема | Основа | Когда выбирать |
|---|---|---|
| Unfold | Tailwind CSS, HTMX, Alpine.js | Новый проект, админка — основной рабочий инструмент |
| Jazzmin | AdminLTE, Bootstrap 5 | Нужно быстро «освежить» админку без изменения кода |
| Grappelli | Собственный интерфейс на сетке | Консервативный проект, обновления строго по версиям |
| django-admin-interface | Стандартный интерфейс Django | Нужен фирменный стиль, интерфейс должен остаться прежним |
Сравнение по возможностям
| Критерий | Unfold | Jazzmin | Grappelli | django-admin-interface |
|---|---|---|---|---|
| Поддержка Django | 5.2, 6.0, 6.1 | 4.2–6.0 (по PyPI) | 5.0.x — Django 6.x, 4.0.x — Django 5.x | 4.0–6.0 (по PyPI) |
| Последний релиз | 0.108.0, сентябрь 2026 | 3.0.5, июнь 2026 | 5.0.0, апрель 2026 | 0.32.0, декабрь 2025 |
Изменения в admin.py | Наследовать ModelAdmin из Unfold | Не нужны | Не нужны, URL темы в urls.py | Не нужны |
| Где настраивается | Словарь UNFOLD в settings.py | JAZZMIN_SETTINGS и конструктор в интерфейсе | Настройки GRAPPELLI_*, классы дашборда | Модель темы в самой админке |
| Тёмная тема | Есть, с переключателем | Есть: светлая, тёмная или как в ОС | Не заявлена | Не заявлена, цвета задаются вручную |
| Дашборд | Свои виджеты и компоненты на главной | Нет отдельного API | Модули на Python-классах | Нет |
| Связанные объекты | Стандартные всплывающие окна | Модальные окна по опции related_modal_active | Окна поиска и автодополнение | Модальные окна (нужен SAMEORIGIN) |
| Интеграции | Модули unfold.contrib: import-export, simple-history, guardian, constance и другие | Без отдельных модулей | TinyMCE, сортировка инлайнов перетаскиванием | Стили для modeltranslation, ckeditor, rangefilter и других |
| Лицензия | MIT | MIT | BSD | MIT |
Версии взяты из PyPI и документации проектов. Если версии Django нет в классификаторах PyPI, тема на ней может работать, но перед обновлением фреймворка проверьте issues проекта. В нашей проверке Unfold 0.108, Jazzmin 3.0.5 и django-admin-interface 0.32 открыли главную, список и форму на Django 6.1.2 без ошибок.
Все темы подключаются одинаково: приложение темы добавляется в INSTALLED_APPS перед django.contrib.admin, чтобы его шаблоны имели приоритет.
Unfold
Unfold — самая активно развиваемая из тем: релизы выходят несколько раз в месяц. Она построена на Tailwind CSS, поддерживает тёмную тему, настраиваемое боковое меню с иконками, вкладки, условные поля, расширенные фильтры, инлайны с пагинацией и библиотеку компонентов для дашбордов. Требует Python 3.12+ и Django 5.2+.
python -m pip install django-unfold
# settings.py
INSTALLED_APPS = [
"unfold", # до django.contrib.admin
"unfold.contrib.filters", # необязательно: расширенные фильтры
"unfold.contrib.forms", # необязательно: дополнительные виджеты
"django.contrib.admin",
"django.contrib.auth",
# ...
]
Главное отличие от остальных тем: для полноценного вида админ-классы наследуются от ModelAdmin из Unfold. Со стандартным admin.ModelAdmin формы останутся без стилей темы:
# library/admin.py
from django.contrib import admin
from unfold.admin import ModelAdmin
from .models import Book
@admin.register(Book)
class BookAdmin(ModelAdmin):
list_display = ["title", "author", "published"]
search_fields = ["title"]
Встроенные UserAdmin и GroupAdmin нужно снять с регистрации и зарегистрировать заново с базовым классом Unfold и формами из unfold.forms:
from django.contrib import admin
from django.contrib.auth.admin import GroupAdmin as BaseGroupAdmin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.models import Group, User
from unfold.admin import ModelAdmin
from unfold.forms import AdminPasswordChangeForm, UserChangeForm, UserCreationForm
admin.site.unregister(User)
admin.site.unregister(Group)
@admin.register(User)
class UserAdmin(BaseUserAdmin, ModelAdmin):
form = UserChangeForm
add_form = UserCreationForm
change_password_form = AdminPasswordChangeForm
@admin.register(Group)
class GroupAdmin(BaseGroupAdmin, ModelAdmin):
pass
Глобальные настройки — в словаре UNFOLD:
# settings.py
UNFOLD = {
"SITE_TITLE": "Библиотека",
"SITE_HEADER": "Библиотека: управление",
"SIDEBAR": {
"show_search": True, # поиск по приложениям и моделям в меню
},
}
Плюсы: современный интерфейс, частые релизы, поддержка свежих версий Django, интеграции с популярными пакетами через модули unfold.contrib.
Минусы: придётся заменить базовый класс во всех ModelAdmin, включая встроенные. Сторонние пакеты со своими шаблонами админки, для которых нет модуля в unfold.contrib, могут выглядеть чужеродно. Django 4.2 и Python ниже 3.12 не поддерживаются.
Jazzmin
Jazzmin (документация) переводит админку на AdminLTE: верхнее и боковое меню, иконки Font Awesome для моделей, выпадающие списки Select2 и, по желанию, модальные окна для связанных объектов вместо всплывающих. Код ModelAdmin менять не нужно.
python -m pip install django-jazzmin
# settings.py
INSTALLED_APPS = [
"jazzmin", # до django.contrib.admin
"django.contrib.admin",
# ...
]
JAZZMIN_SETTINGS = {
"site_title": "Библиотека",
"site_header": "Библиотека",
"site_brand": "Библиотека",
"welcome_sign": "Добро пожаловать",
"icons": {
"auth.user": "fas fa-user",
"library.book": "fas fa-book",
},
"show_ui_builder": True, # конструктор оформления в интерфейсе
}
С show_ui_builder в правом верхнем углу появляется кнопка конструктора: в нём подбирают цвета и раскладку, а затем копируют готовый словарь JAZZMIN_UI_TWEAKS в настройки. Режим по умолчанию задаёт ключ default_theme_mode в JAZZMIN_UI_TWEAKS: "light", "dark" или "auto" (как в ОС). Старый ключ dark_mode_theme в Jazzmin 3.0.5 игнорируется с предупреждением в логе.
Плюсы: быстрое подключение, никаких изменений в admin.py, гибкая настройка меню.
Минусы: после паузы с осени 2024 года релизы возобновились только в 2026-м, а Django 6.1 пока не указан в классификаторах PyPI. Перед внедрением проверьте открытые issues для своей версии Django.
Grappelli
Grappelli — одна из самых старых тем. Она меняет оформление на интерфейс с сеткой, добавляет настраиваемый дашборд, окна поиска связанных объектов, автодополнение, сортировку инлайнов перетаскиванием и интеграцию с TinyMCE.
python -m pip install django-grappelli
# settings.py
INSTALLED_APPS = [
"grappelli", # до django.contrib.admin
"django.contrib.admin",
# ...
]
GRAPPELLI_ADMIN_TITLE = "Библиотека"
Для дашборда и функции переключения пользователя в TEMPLATES нужен контекст-процессор django.template.context_processors.request — в проекте из startproject он уже есть. URL темы обслуживают поиск связанных объектов и автодополнение:
# urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path("grappelli/", include("grappelli.urls")), # до admin/
path("admin/", admin.site.urls),
]
Плюсы: зрелый и предсказуемый проект, понятная документация.
Минусы: ветки Grappelli привязаны к версиям Django: 5.0.x — для Django 6.x, 4.0.x — для Django 5.x. При обновлении фреймворка обновляйте и тему. Внешний вид консервативнее, чем у Unfold.
django-admin-interface
django-admin-interface (репозиторий) сохраняет структуру стандартного интерфейса. Цвета, логотип, заголовки, маркер окружения и поведение модальных окон настраиваются прямо из админки — без деплоя.
python -m pip install django-admin-interface
# settings.py
INSTALLED_APPS = [
"admin_interface",
"colorfield",
"django.contrib.admin",
# ...
]
# Нужно для модальных окон связанных объектов: они открываются в iframe
X_FRAME_OPTIONS = "SAMEORIGIN"
SILENCED_SYSTEM_CHECKS = ["security.W019"]
python manage.py migrate
python manage.py collectstatic --clear
Темы хранятся в базе данных и переключаются без изменения кода. Готовые темы в стиле Bootstrap, Foundation и U.S. Web Design Standards загружаются командой loaddata, например python manage.py loaddata admin_interface_theme_bootstrap.json.
Плюсы: минимальный риск — интерфейс остаётся привычным, меняется только стиль.
Минусы: модальные окна требуют ослабить X_FRAME_OPTIONS до SAMEORIGIN (без них остаются обычные всплывающие окна); возможности расширения интерфейса ограничены; последний релиз вышел в декабре 2025 года.
Другие темы
Кроме этих четырёх, есть темы поменьше: Django Daisy на DaisyUI и Tailwind, django-semantic-admin на Semantic UI, Simple UI на Vue и Element UI, django-jet-reboot с дашбордом, тема Dracula. Перед выбором любой из них проверьте дату последнего релиза и поддержку вашей версии Django.
На что смотреть перед выбором
- Совместимость с версией Django. Проверьте последний релиз пакета и классификаторы на PyPI. Если проект на Django 4.2, Unfold не подойдёт.
- Объём изменений. Jazzmin, Grappelli и django-admin-interface подключаются настройками. Unfold требует сменить базовый класс во всех
ModelAdmin— в большом проекте это заметная работа, и при отказе от темы её придётся повторить. - Сторонние пакеты. Если вы используете django-import-export, django-simple-history или django-filer, убедитесь, что их страницы выглядят корректно с темой.
- Кастомные шаблоны. Если вы уже переопределяли
admin/base_site.htmlилиchange_form.html, тема может их перекрыть или конфликтовать с ними. - Безопасность. Тема получает доступ ко всем страницам админки. Обновляйте её так же регулярно, как сам Django.
Частые вопросы
Можно ли подключить две темы одновременно?
Нет. Темы переопределяют одни и те же шаблоны админки: сработают шаблоны той, что стоит выше в INSTALLED_APPS, а стили смешаются. Выберите одну тему.
Темы бесплатные?
Да, все четыре распространяются под свободными лицензиями: Unfold, Jazzmin и django-admin-interface — MIT, Grappelli — BSD. Их можно использовать в коммерческих проектах.
Почему после установки тема не применилась?
Проверьте три вещи. Приложение темы должно стоять в INSTALLED_APPS выше django.contrib.admin. Шаблоны из папки проекта, указанной в DIRS настройки TEMPLATES, находятся раньше шаблонов приложений — ваш templates/admin/base_site.html перекроет шаблон темы. В продакшне нужен collectstatic, иначе стили темы не загрузятся.
Как вернуться к стандартной админке?
Удалите приложение темы из INSTALLED_APPS и связанные настройки. Для Grappelli уберите маршрут grappelli/, для Unfold верните admin.ModelAdmin и снимите перерегистрацию UserAdmin. У django-admin-interface останутся таблицы в базе: удалите их командой python manage.py migrate admin_interface zero до того, как уберёте приложение.
Подойдёт ли тема админки для клиентской части сайта?
Нет. Темы меняют только шаблоны Django Admin и не влияют на публичные страницы. Интерфейс для клиентов делают обычными представлениями и шаблонами Django.
Итог
Для нового проекта, где админка — ежедневный рабочий инструмент команды, разумный выбор — Unfold: он активнее всех развивается и уже поддерживает Django 6.1. Если нужно быстро улучшить существующую админку без правок кода — Jazzmin. Для консервативных проектов с долгим циклом поддержки — Grappelli. А если достаточно фирменных цветов и логотипа — django-admin-interface или собственное оформление на CSS-переменных.
Если готовая тема не подходит, админку можно оформить самостоятельно: см. темизацию Django Admin без хаков. Базовые настройки ModelAdmin, которые работают с любой темой, собраны в полном руководстве по Django Admin.
- #Django Admin
- #Unfold
- #Jazzmin
- #Grappelli
- #Темизация
- #Кастомизация Admin