Front-End Developer
0,0
рейтинг
5 сентября 2015 в 02:00

Разработка → 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 октября, до этого момента еще останется возможность исправить найденные ошибки. Большое спасибо.
@elky
карма
35,0
рейтинг 0,0
Front-End Developer
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (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
    Я одного понять не могу. Размеры экранов уменьшаются, а дизайн пухнет, т.е. на единицу площади приходится меньше информации, чем раньше.
    Чему все радуются? Новый дизайн админки свежее старой, но юзабилити хуже.

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