Django-Admin.ru

Темы для Django Admin: Unfold, Jazzmin, Grappelli и django-admin-interface

Сравниваем популярные темы оформления Django Admin: установка Unfold, Jazzmin, Grappelli и django-admin-interface, их сильные стороны и ограничения.

Редакция Django-Admin.ru
· обновлено · 9 мин чтения

Содержание · 11 разделов
  1. Нужна ли тема вообще
  2. Коротко: что выбрать
  3. Сравнение по возможностям
  4. Unfold
  5. Jazzmin
  6. Grappelli
  7. django-admin-interface
  8. Другие темы
  9. На что смотреть перед выбором
  10. Частые вопросы
  11. Можно ли подключить две темы одновременно?
  12. Темы бесплатные?
  13. Почему после установки тема не применилась?
  14. Как вернуться к стандартной админке?
  15. Подойдёт ли тема админки для клиентской части сайта?
  16. Итог

Готовая тема для Django Admin меняет оформление стандартной админки и часто добавляет возможности: боковое меню, тёмный режим, дашборды, модальные окна. Для новой админки, которая станет основным рабочим инструментом, чаще выбирают Unfold; чтобы освежить существующую без правок admin.py — Jazzmin; для консервативного проекта с привязкой к версиям Django — Grappelli; если нужны только фирменные цвета и логотип — django-admin-interface.

Ниже — сравнение по поддержке Django, объёму изменений в коде и возможностям, установка каждой темы и критерии выбора. Данные о версиях актуальны на октябрь 2026 года.

Нужна ли тема вообще

Встроенная админка давно не выглядит как в 2010-х: с Django 3.1 в ней есть боковая навигация по моделям, с 3.2 — тёмная тема, с 4.2 — переключатель темы в шапке. Если нужны фирменные цвета, логотип и пара своих блоков, хватит переопределения шаблонов и CSS-переменных — см. темизацию Django Admin без хаков. Тема оправдана, когда нужен другой интерфейс: сгруппированное меню с иконками, расширенные фильтры, дашборд с компонентами, вкладки в формах.

Коротко: что выбрать

ТемаОсноваКогда выбирать
UnfoldTailwind CSS, HTMX, Alpine.jsНовый проект, админка — основной рабочий инструмент
JazzminAdminLTE, Bootstrap 5Нужно быстро «освежить» админку без изменения кода
GrappelliСобственный интерфейс на сеткеКонсервативный проект, обновления строго по версиям
django-admin-interfaceСтандартный интерфейс DjangoНужен фирменный стиль, интерфейс должен остаться прежним

Сравнение по возможностям

КритерийUnfoldJazzminGrappellidjango-admin-interface
Поддержка Django5.2, 6.0, 6.14.2–6.0 (по PyPI)5.0.x — Django 6.x, 4.0.x — Django 5.x4.0–6.0 (по PyPI)
Последний релиз0.108.0, сентябрь 20263.0.5, июнь 20265.0.0, апрель 20260.32.0, декабрь 2025
Изменения в admin.pyНаследовать ModelAdmin из UnfoldНе нужныНе нужны, URL темы в urls.pyНе нужны
Где настраиваетсяСловарь UNFOLD в settings.pyJAZZMIN_SETTINGS и конструктор в интерфейсеНастройки GRAPPELLI_*, классы дашбордаМодель темы в самой админке
Тёмная темаЕсть, с переключателемЕсть: светлая, тёмная или как в ОСНе заявленаНе заявлена, цвета задаются вручную
ДашбордСвои виджеты и компоненты на главнойНет отдельного APIМодули на Python-классахНет
Связанные объектыСтандартные всплывающие окнаМодальные окна по опции related_modal_activeОкна поиска и автодополнениеМодальные окна (нужен SAMEORIGIN)
ИнтеграцииМодули unfold.contrib: import-export, simple-history, guardian, constance и другиеБез отдельных модулейTinyMCE, сортировка инлайнов перетаскиваниемСтили для modeltranslation, ckeditor, rangefilter и других
ЛицензияMITMITBSDMIT

Версии взяты из 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
↑ ↓ выборEnter открытьEsc закрыть