Всем привет
Вероятно многие из нас сдавая очередной Django-проект ловили себя на мысли о том, что интерфейс администратора выглядит, мягко говоря, непрезентабельно и несовременно. Однажды мне стало стыдно отдавать хороший Django-проект хорошему заказчику именно по причине убогости админки, и я решил обновить ее внешний вид, вдохновившись обновленным сайтом Django.
Получилось как-то так:
Недолго думая и сдав с чистой совестью проект, я решил показать Django-сообществу свое творение. Pull Request в официальном репозитории Django вызвал бурное обсуждение, к которому присоединились core-девелоперы. В итоге было решено, что внешний вид действительно стоит обновить, но не ассоциировать интерфейс с «брендовым» сайтом Django, а сохранить прежнюю узнаваемую цветовую схему.
На сей раз я решил не спешить и проработать все возможные ситуации. Специально для этого в марте мною был создан апп django-flat-theme, благодаря которому удалось собрать фидбэк пользователей (апп установили даже на djangoproject.com) и улучшить первоначальные задумки.
К августу после продолжительной дискуссии в сообществе django-developers мой Pull Request с новой темой для админки был замерджен в мастер-ветку Django, а еще через некоторое время по многочисленным запросам пользователей старые GIF-иконки были заменены на SVG. Таким образом Django-админка впервые за 10 лет претерпит серьезные изменения.
Кстати говоря, переход на SVG-иконки тоже вызвал в коммьюнити большое обсуждение, результатом которого стал отказ от поддержки IE8 начиная с версии Django 1.9, из-за чего также решено было обновить jQuery c 1.11 до 2.1.4.
Новый внешний вид интерфейса админки, вероятно, затронет сторонние приложения. Однако хорошая новость в том, что изменения в плане кода коснулись только CSS-файлов (за исключением пары HTML-шаблонов, где пришлось поменять названия иконок). Если у вас есть свои приложения, советую посмотреть на них локально в новом виде. Сделать это можно двумя способами:
- установить пакет django-flat-theme в свой проект
pip install django-flat-theme
- обновить Django из master-ветки
pip install git+https://github.com/django/django.git@master --upgrade
Не стесняйтесь сообщать о найденных в новом интерфейсе багах. Сделать это можно либо создав Issue в django-flat-theme, либо непосредственно в баг-трекере Django. Бета-версия Django 1.9 выйдет 19 октября, до этого момента еще останется возможность исправить найденные ошибки. Большое спасибо.
4umak
Хотелось бы кликабельных скриншотов:) А так, похоже, что работа отличная.
danSamara
Вот здесь есть скрины.
walkman7
Для этих целей (получение полноразмерной картинки) я использую расширение http://tiny.cc/Imagus
ad3w
А зачем такие огромные отступы по бокам?
Chode
Там и между модулями не меньше отступы, при больших объемах данных придется ужимать красоту
elky
Подскажите, какие именно отступы вы имеете в виду?
freylis
Действительно гораздо лучше смотрится, чем текущая админка. Поздравляю вас)
Phizio
эхх… когда уже у modx будет бутстрапная адаптивная админка… )) а то только поделки отдельных товарищей гуляют по сети… Автору данной статьи респект за то, что его PR взят в официальную ветку разработки, сам на Джанго не кодил, но это явно признак достойной работы. К тому же в союзе с авторами движка у вас есть реальные перспективы сделать законченное решение, а не костыль) так держать!
armo
Молодец! Спасибо! Уже несколько месяцев используем django-flat-theme и очень довольны.
pacahon
Что же оно так плохо гуглилось. Хорошо, что можно установить не дожидаясь 1.9 Спасибо.
ZoomLS
>>Вероятно многие из нас сдавая очередной Django-проект ловили себя на мысли о том, что интерфейс администратора выглядит, мягко говоря, непрезентабельно и несовременно.
Обычно просто использовали нестандартные, например Grappelli.
ZoomLS
Но, вообще, радует очень, что стандартная обновится наконец! Спасибо!
kesn
Знаете, чёрт с ними, с красивостями. Я всё удивляюсь, почему в джанге никак не запилят автокомплит полей, как в django-grappelli. У меня вот интернет-магазин, и не дай бог где-нибудь в админке я вставлю поле Foreign Key на модель «товар» — джанго услужливо создаст со списком из двух тысяч товаров. Ну или например ещё кейс: в инлайн формах можно создать инстанс, удалить инстанс, а выбрать существующий нельзя.
Ну а так красиво, вы молодец! Сейчас если нужно «не стыдно заказчику показать» — ставьте django-grappelli.
kesn
* создаст select со списком
elky
Я бы тоже хотел такое. Создайте тикет в баг-трекере Django, я думаю, за эту фичу проголосует немало народу.
Если честно, я бы и стили django-grappelli перепилил :) Старомодно стал выглядеть для 2015 года.
glader
raw_id_fields
kesn
Вы любите пожёстче? :)
glader
Я не люблю списки на две тысячи товаров :)
syschel
А на 1кк товаров или список городов планеты? :-)
Я тоже использую raw_id_fields, но вот для полей «страна» — «город», пришлось для админки небольшую функцию вывода писать.
glader
Вот тут я тебя не понял. raw_id_fields открывает отдельное окно, там и фильтры, и поиск. Зачем что-то еще делать?
syschel
Мне нужно было при выборе страны, подгружать её города. Что бы в профиле заполнить два поля «страна» и «город». Городов 39 584
glader
Ага, так понятнее, спасибо. Два поля сразу — это действительно нестандарт.
artifex
Это не новый дизайн, это точно такая же админка с обновлёнными стилями.
phoenixweiss
Вот мне интересно, почему никуда не попадают крутые админки с Темфореста? Я имею ввиду почему до сих пор при таком количестве контента, многие современные фреймворки до сих пор пользуются админками образца начала 2000-х?
Я понимаю что в конкретном примере шаблоны платные, но сам принцип — разработать нечто подобное, просто ориентируясь на пару-тройку хороших примеров. Не говоря о том что на просторах интернета можно найти и реально хорошие бесплатные варианты без каких-либо серьезных лицензионных обременений, или создать нечто по аналогии?
Касается это не только Django, а например того же Active Admin под рельсы. Не спорю что для разработчика эти решения удобны, но для конечного пользователя как-то совсем отстают от современных трендов в дизайне и юзабилити.
magic4x
Дизайны меняются каждые полгода, а сайт должен работать с запасом. Если хотя бы раз в два года менять шаблоны, разработчики просто забью на фреймворк и найдут другой — никому не нужны проблемы с зависимостями.
phoenixweiss
В этом есть доля правды, однако например для админок рельсовых проектов используем свои наработки на базе третьего бутстрапа. За два с половиной года менялись только версии гемов:
Если верстать без разного рода извращений, проблем возникнуть вообще не должно при переходе/обновлении. Главное придерживаться принципа что во вьюхе только сами блоки, без насильного указания инлайновых стилей, тогда чрезвычайно маловероятно на что-то напороться.
magic4x
Рано обрадовался. Открыл админку, а там и половины привычного не влезло. Комрад, благодарю за работу, но «рабочий» интерфейс, на мой вкус, не должен быть таким «распухшим» — боюсь, скролл сломается.
magic4x
Ну и раз пошла такая пьянка, и стили все равно заменят, имеет смысл решить подобные казусы (снизу решение граппелли):
elky
Спасибо за отзыв, попробую протолкнуть эту идею. Так действительно удобнее и компактнее. О результатах сообщу :)