Как стать автором
Обновить

Комментарии 45

Очень полезная статья, как раз занимаюсь пилением админки… спасибо вам за описание…
Очень здорово и красиво. Есть ещё django-grappelli(http://code.google.com/p/django-grappelli/wiki/screenshots).

Тут главный вопрос — в совместимости с django reusable app, которые рассчитаны на стандартный интерфейс, например django-cms, приходилось допиливать для нормальной интеграции с grappelli.
Про граппелли в статье упоминается. По крайней мере раньше (не знаю, как сейчас) его прикручивание было гораздо менее удобно.
тот же самый процесс: pip install django-grappelli, правим settings.py,urls.py, syncdb и поехали.
Я видимо застал еще то время, когда нужно было обычные медиа-файлы от админки полностью заменить на те, что в grappelli, поэтому так написал.
у django-admin-tools с совместимостью должно быть гораздо лучше, чем у grappelli, т.к. переделка шаблонов и стилей менее кардинальная. Grappelli практически все шаблоны и стили заменили на свои, в django-admin-tools стандартные стили с небольшими доделками.

Кстати, план ребят из grappelli — использовать django-admin-tools в качестве «дэшборда» ко всему остальному. См. bitbucket.org/fetzig/grappelli-admin-tools/overview
Спасибо за статью. С интересом, жду продолжения.
Даже не знал что такое возможно, буду пробовать, спасибо!
НЛО прилетело и опубликовало эту надпись здесь
Давайте еще о Зенд фреймворке поговорим :)
Про графики было бы интересно почитать.
Мне кажется это обычные DIV-ы с кастомным style=«height»
Ошибку кажет:
In template /Library/Python/2.6/site-packages/django_admin_tools-0.2.0-py2.6.egg/admin_tools/menu/templates/admin/base_site.html, error at line 17
13
14 {% block nav-global %}
15 {% if user and user.is_authenticated %}
16 {% if not is_popup %}
17 {% admin_tools_render_menu %}
18 {% endif %}
19 {% endif %}

админ-тулз устанавливал просто через easy_install
За статью большое спасибо, этих возможностей нехватало для такой хваленой Джанго-админки.
посмотрите в settings на TEMPLATE_CONTEXT_PROCESSORS там должна быть строчка 'django.core.context_processors.request'

у меня из-за ее отсутствия ошибка была
Спасибо, помогло!
НЛО прилетело и опубликовало эту надпись здесь
А можно подробности почему?
Как же досадно видеть такую лень (или несообразительность).
На сайте проекта есть скриншоты админки.
Вот один из них: www.izimobil.org/django-admin-tools/images/capture-2-small.png
Казалось бы, сверни свой браузер, установи нужную ширину, получи нормальную картинку, которая влезает на страницу без уменьшения. Но увы.
спасибо за замечание, Жан-Луи все поправил)
В кои-то веки авторская статья в стиле «того» хабра, а не репост новости, унылый перевод или очередное изобретение колеса. Спасибо.
kmike еще торт
михаил, как всегда, пишет отличные статьи, спасибо ему за это.

как раз недавно мучал стандартную админку, вывернул ей все кишки, было очень неудобно) теперь кастомизация будет проходить гораздо приятнее.
Спасибо, попробую )
Уж извольте, попробуйте)
кстати, в одной буржуйской презентации по кастомизации админки, наряду с грапелли видел ссылки на проекты github.com/ella/ella и gondolacms.com/
кто-нить с такими игрался?
Пишет «Caught an exception while rendering: Reverse for 'admin-tools-dashboard-set-preferences' with arguments '()' and keyword arguments '{}' not found.» В чём может быть причина?
Закомментировал у себя строку
url(r'^admin_tools/', include('admin_tools.urls')),
из urls.py, выпала ровно эта же ошибка. Вы не подключили значит url'ы.
Извените, как говориться, нужно внимательней читать. Спасибо большое!
Большое спасибо за статью, как раз искал нечто подобное. Теперь все работает прекрасно.
Очень интересно, спасибо!

А не знаете, можно ли с помощью этой штуки удалить дурацкие ссылки «Изменить» рядом с каждой моделью?
Код этой дурацкой ссылки — Изменить

Пропишите для главной страницы свой класс и можете указать в css
.yourclass .changelink { display: none }

Это можно сделать и без «этой штуки».
Чорт, код убрался. Читайте:

Код этой дурацкой ссылки —
<a class="changelink" ...>Изменить</a>
Спасибо! Думал есть более православный метод :)
Там в начале статьи написано что для админки не очень много православних методов)
А вообще я лох. Есть православный метод — создаешь в папке шаблонов папку admin и копируешь туда файл index.html из django.contrib.admin.templates.

В файле index.html есть такой код:
            {% if model.perms.change %}
                <td><a href="{{ model.admin_url }}" class="changelink">{% trans 'Change' %}</a></td>
            {% else %}
                <td> </td>
            {% endif %}

Просто его удаляешь и все.
Очень красиво. Честно говоря, даже не думал, что из этой довольно жесткой штуки можно сделать такую конфетку.
Скажите, чем вы рисовали такие симпатичные графики?
Хотел скачать переводы с transifex, че-т не получается (ссылка не активна). В чем может быть проблема?
Не знаю, а зачем скачивать переводы с transifex?
Оффтоп. Сейчас nadovmeste.ru (kupikupon) сделан на drupal, если не ошибаюсь. Почему решили перейти?
Там никто не переходил, а скорее наоборот: КупиКупон уже был большим и на друпале, когда купил НадоВместе, выкидывать свой движок и менять команду разработчиков они не стали, тут их вполне можно понять, технологии — это далеко не все.

Мы в итоге с их программистами посидели и аккаунты джанговских пользователей в друпал проэкспортировали, НадоВместе поработал потом еще пару месяцев в полузакрытом режиме (пока срок действия всех купонов не закончился — ну чтоб люди распечатать их могли), и тогда уже редирект сделали окончательно.
Ребята в чем может быть проблема, админка «кривит»: imm.io/QlVn
Грешил на то что не подгружаются некоторые .css/.js, но вроде все в норме, dev сервер не говорит об 404-ой ошибке
очередная чудовищная джанго свистоподелка
смотришь на такую и не видишь отличия от того как пхпник пытается встроить google/jquery плагин в уже работающую страницу на MooTools
то-есть для него, для тупого как молоток аникея, невдомёк, что это разные вещи, для него это просто какие то файлы и он считает, что если их побольше натолкать в свой код то всё будет прекрасно работать
так и этот модуль, впрочем как большинство джангосвистелок
посмотрите как он включается в проект, не через import не через from
а просто, через парсинг INSTALLED_APPS
а как управляется и расширяется, конечно же точно так же, через парсинг строк
вот точно такой же подход как этих тупых аникеев, которые копипастят со всяких форумов JS вставки в свой код
ни какого понимания и даже желания понимать как это работает, только бы побыстрее хоть чтото заработало
а проходит код, два, три и при очередном обновлении что-то как всегда ломается или Django или в её поделочных модулях и всё, парсинг строк ни как не локализует ошибку, а джанга после того как напарсилась текста досыта, попыталась загрузить, не получилось и она летит дальше, лишь бы у тупого аникея поскорее хоть что-то запустилось, лишь он чувствовал что он что-то может, лишь бы он не думал сам
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории