Django 1.9 получит новый дизайн админки

    image

    Всем привет

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



    Получилось как-то так:

    image

    Недолго думая и сдав с чистой совестью проект, я решил показать Django-сообществу свое творение. Pull Request в официальном репозитории Django вызвал бурное обсуждение, к которому присоединились core-девелоперы. В итоге было решено, что внешний вид действительно стоит обновить, но не ассоциировать интерфейс с «брендовым» сайтом Django, а сохранить прежнюю узнаваемую цветовую схему.

    На сей раз я решил не спешить и проработать все возможные ситуации. Специально для этого в марте мною был создан апп django-flat-theme, благодаря которому удалось собрать фидбэк пользователей (апп установили даже на djangoproject.com) и улучшить первоначальные задумки.

    К августу после продолжительной дискуссии в сообществе django-developers мой Pull Request с новой темой для админки был замерджен в мастер-ветку Django, а еще через некоторое время по многочисленным запросам пользователей старые GIF-иконки были заменены на SVG. Таким образом Django-админка впервые за 10 лет претерпит серьезные изменения.

    image

    Кстати говоря, переход на 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 октября, до этого момента еще останется возможность исправить найденные ошибки. Большое спасибо.
    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну, и что?
    Реклама
    Комментарии 35
    • 0
      Хотелось бы кликабельных скриншотов:) А так, похоже, что работа отличная.
      • +3
        Вот здесь есть скрины.
        Пусть и тут будут:
        image
        image
        image
        image
        • +1
          Для этих целей (получение полноразмерной картинки) я использую расширение http://tiny.cc/Imagus
        • +1
          А зачем такие огромные отступы по бокам?
          • +1
            Там и между модулями не меньше отступы, при больших объемах данных придется ужимать красоту
            • +2
              Подскажите, какие именно отступы вы имеете в виду?
              • 0
                левый/правый
            • +6
              Действительно гораздо лучше смотрится, чем текущая админка. Поздравляю вас)
              • +3
                эхх… когда уже у modx будет бутстрапная адаптивная админка… )) а то только поделки отдельных товарищей гуляют по сети… Автору данной статьи респект за то, что его PR взят в официальную ветку разработки, сам на Джанго не кодил, но это явно признак достойной работы. К тому же в союзе с авторами движка у вас есть реальные перспективы сделать законченное решение, а не костыль) так держать!
                • +1
                  Молодец! Спасибо! Уже несколько месяцев используем django-flat-theme и очень довольны.
                  • +1
                    Что же оно так плохо гуглилось. Хорошо, что можно установить не дожидаясь 1.9 Спасибо.
                    • +4
                      >>Вероятно многие из нас сдавая очередной Django-проект ловили себя на мысли о том, что интерфейс администратора выглядит, мягко говоря, непрезентабельно и несовременно.

                      Обычно просто использовали нестандартные, например Grappelli.
                      • +2
                        Но, вообще, радует очень, что стандартная обновится наконец! Спасибо!
                      • 0
                        Знаете, чёрт с ними, с красивостями. Я всё удивляюсь, почему в джанге никак не запилят автокомплит полей, как в django-grappelli. У меня вот интернет-магазин, и не дай бог где-нибудь в админке я вставлю поле Foreign Key на модель «товар» — джанго услужливо создаст со списком из двух тысяч товаров. Ну или например ещё кейс: в инлайн формах можно создать инстанс, удалить инстанс, а выбрать существующий нельзя.
                        Ну а так красиво, вы молодец! Сейчас если нужно «не стыдно заказчику показать» — ставьте django-grappelli.
                        • 0
                          * создаст select со списком
                          • 0
                            почему в джанге никак не запилят автокомплит полей

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

                            Сейчас если нужно «не стыдно заказчику показать» — ставьте django-grappelli.

                            Если честно, я бы и стили django-grappelli перепилил :) Старомодно стал выглядеть для 2015 года.
                            • +1
                              джанго услужливо создаст со списком из двух тысяч товаров

                              raw_id_fields
                              • 0
                                Вы любите пожёстче? :)
                                • 0
                                  Я не люблю списки на две тысячи товаров :)
                                  • 0
                                    А на 1кк товаров или список городов планеты? :-)
                                    Я тоже использую raw_id_fields, но вот для полей «страна» — «город», пришлось для админки небольшую функцию вывода писать.
                                    • 0
                                      Вот тут я тебя не понял. raw_id_fields открывает отдельное окно, там и фильтры, и поиск. Зачем что-то еще делать?
                                      • 0
                                        Мне нужно было при выборе страны, подгружать её города. Что бы в профиле заполнить два поля «страна» и «город». Городов 39 584
                                        • 0
                                          Ага, так понятнее, спасибо. Два поля сразу — это действительно нестандарт.
                            • +3
                              Это не новый дизайн, это точно такая же админка с обновлёнными стилями.
                              • 0
                                Вот мне интересно, почему никуда не попадают крутые админки с Темфореста? Я имею ввиду почему до сих пор при таком количестве контента, многие современные фреймворки до сих пор пользуются админками образца начала 2000-х?

                                Я понимаю что в конкретном примере шаблоны платные, но сам принцип — разработать нечто подобное, просто ориентируясь на пару-тройку хороших примеров. Не говоря о том что на просторах интернета можно найти и реально хорошие бесплатные варианты без каких-либо серьезных лицензионных обременений, или создать нечто по аналогии?

                                Касается это не только Django, а например того же Active Admin под рельсы. Не спорю что для разработчика эти решения удобны, но для конечного пользователя как-то совсем отстают от современных трендов в дизайне и юзабилити.
                                • 0
                                  Дизайны меняются каждые полгода, а сайт должен работать с запасом. Если хотя бы раз в два года менять шаблоны, разработчики просто забью на фреймворк и найдут другой — никому не нужны проблемы с зависимостями.
                                  • 0
                                    В этом есть доля правды, однако например для админок рельсовых проектов используем свои наработки на базе третьего бутстрапа. За два с половиной года менялись только версии гемов:
                                    gem 'font-awesome-rails'
                                    gem 'bootstrap-glyphicons'
                                    gem 'bootstrap-sass'
                                    

                                    Если верстать без разного рода извращений, проблем возникнуть вообще не должно при переходе/обновлении. Главное придерживаться принципа что во вьюхе только сами блоки, без насильного указания инлайновых стилей, тогда чрезвычайно маловероятно на что-то напороться.
                                • 0
                                  Рано обрадовался. Открыл админку, а там и половины привычного не влезло. Комрад, благодарю за работу, но «рабочий» интерфейс, на мой вкус, не должен быть таким «распухшим» — боюсь, скролл сломается.
                                  • +1
                                    Ну и раз пошла такая пьянка, и стили все равно заменят, имеет смысл решить подобные казусы (снизу решение граппелли):
                                    • +1
                                      Спасибо за отзыв, попробую протолкнуть эту идею. Так действительно удобнее и компактнее. О результатах сообщу :)
                                      • 0
                                        К сожалению, в 1.9 протолкнуть данное изменение не получилось, но оно должно появиться в 1.9.1 и будет выглядеть вот так:

                                        image
                                        • +1
                                          Я попробовал сделать свой вариант стилей, но к сожалению завяз в рутине (переезд, ребенок заболел, командировка), хотя многое уже готово. Вот так я решил эту проблему:
                                      • 0
                                        Поддерживаю, наконец решил попробовать «обновить» админку в проектах…
                                        откатился назад, старая компактная, «немодная» админка таки привычнее
                                      • 0
                                        Отличная новость. Надеюсь, что к версии 1.9 родная админка так же приобретет основные приятные плюшки из grappelli.
                                        А вообще крайне рад, что проект Django активно развивается со стороны русскоязычного сообщества
                                        • +1
                                          Я одного понять не могу. Размеры экранов уменьшаются, а дизайн пухнет, т.е. на единицу площади приходится меньше информации, чем раньше.
                                          Чему все радуются? Новый дизайн админки свежее старой, но юзабилити хуже.

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

                                          Самое читаемое