Кастомизация Django Admin с django-unfold

от автора

Привет, Хабр. Изучая безграничные просторы интернета интернета, заметил явное отсутствие обучающих статей на тему кастомизации админ‑панели в /Django/, а уж поверьте. Её довольно старое для современных рамок стилизация — не приговор. И делается это буквально в пару кликов, без лишнего .css кода. На который как раз таки гайдов полно. Зачем засорять папку со статическими файлами лишним кодом, если можно сделать это в пару кликов.

Главное преимущества /Python/, заключается в том, то что пишется на других язык программирования в десять строк, можно написать на нашем любимом языке в две строчки. Поэтому варианты с самостоятельной кастомизацией, затрагивать не будем. Хотя данная библиотека, не ограничивает вас в написание своего кода для кастомизации. Всё написанное, лишь подключенная библиотека на /Python/ для /Django/.

Конечный результат django-admin, после прочтения статьи. Минимум кода.

Конечный результат django-admin, после прочтения статьи. Минимум кода.

ВАЖНО! Инструкция применима, если у вас уже есть какой-либо проект на /Django/ и вы хотите более современную админ-панель под свой проект. Есть аналоги, но при использование именно этой библиотеки, я получил самое большое удовольствие. К тому же ставится она в пару кликов мышки, и имеет довольно гибкую систему, которая позволяет модифицировать её под свои нужды.

Так же важно понимать, что Unfold не заменяет стандартную админку Django, а стилизует её, добавляя новые возможности через:

  • Кастомные шаблоны.

  • CSS/JS на основе Tailwind CSS.

  • JavaScript-логику для динамических элементов.

Перед началом работы с библиотекой, первым делом нам нужно установить ее. Для работы требуется лишь одна библиотека:

pip install django-unfold

После установки библиотеки. Мы можем наконец-то приступить к работе. Перейдем в директорию проекта, файл settings.py. Нам нужно сделать несколько поправок в файле настроек /Django/. Начнем с INSTALLED_APPS.

ОБЯЗАТЕЛЬНО СОХРАНЯЙТЕ ПОРЯДОК ПРИЛОЖЕНИЙ:

INSTALLED_APPS = [     "unfold",  # Обязательно должно быть, перед django.contrib.admin     "django.contrib.admin",     # ... остальные приложения ... ]

Затем, нам нужно создать словарь, которая поможет вписать ваши настройки темы.

UNFOLD = {     # Последний пункт, необязателен. Будут доступны все темы для админ-панели     "SITE_TITLE": "Название вашего проекта",  # Заголовок в браузере     "SITE_HEADER": "Админ-панель",           # Заголовок в шапке     "SITE_ICON": "/static/logo.svg",         # Путь к логотипу (SVG/PNG)     "THEME": "light",  # "light", "dark" или "auto" (автоопределение) }

После этих действий, вам будет доступна админ-панель уже в совсем новом и современном стиле. Опять же, вы можете даже не создавать кортеж, к ней в любом случае подгрузятся новые стили.

Я знаю об ошибке в название модели!

Я знаю об ошибке в название модели!

Так же она поддерживает любой язык, который поддерживает /Django/. В моем случае указано в settings.pyLANGUAGE_CODE=»ru» и он перевел всю админ-панель на выбранный мною язык в настройках самого /Django/.

Библиотека довольно гибкая, лично для меня — это фаворит, если будет стоять выбор между комфортом и качеством. В пару кликов, можно изменить цветовую палитру админ-панил.

UNFOLD = {     "COLORS": {         "primary": {             "50": "#f0fdf4",             "100": "#dcfce7",             # ... другие оттенки ...         },     }, }

Поверьте, на этом все не заканчивается. У нее куда больше возможностей, чем вы думаете. Разбирать это можно довольно долго, но мне кажется, то что лишний раз потыкать самому будет куда интереснее, чем читать гору текста о довольно очевидных системах.

Поэтому, давайте закончим перечислением плюсов данной билбиотеки.

  • Современный UI

    • Минималистичный, но современный дизайн

    • Адаптивность (корректно отображается на мобильных устройствах).

  • Темная/светлая тема

    • Автоматическое переключение.

    • Ручной выбор темы.

  • Гибкая настройка

    • Изменение цветов, логотипа, заголовков.

    • Кастомизация сайдбара, верхнего меню, форм.

  • Дополнительные компоненты

    • Улучшенные фильтры (unfold.contrib.filters).

    • Красивые формы (unfold.contrib.forms).

    • Поддержка Tabler Icons и Material Icons.

  • Простота установки

    • Работает /из коробки/ без переписывания существующего кода.

Искренне надеюсь, то что помог людям, которые искали решение данной проблемы. Всем хорошего дня!


ссылка на оригинал статьи https://habr.com/ru/articles/917066/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *