Вы когда-нибудь задумывались каким таким магическим образом джанговская админка сияет своим синим стилем в только что созданном проекте? Ведь одна из самых больших проблем у новичков в Джанге - это наладить отдачу статики в проекте, но её даже не надо настраивать чтобы правильно заработала админка!
Это потрясающий маркетинговый ход - встроить глубоко во внутрь фреймворка костыль лишь для того, чтобы у человека, первый раз читающего и делающего туториал (или просто первый проект), уже на втором шаге случился культурный шок от админки, а точнее от её полу-магического появления и внешнего вида.
Есть устоявшееся мнение, что у Джанги реальные проблемы с PR'ом и продвижением в массы. Что мол не кричат разработчики и члены сообщества, что вот она какая крутая и что всем надо ею пользоваться. Так у нас свой путь - не надо бить во все колокола, а лишь в нужных местах сгладить углы и сделать вхождение новых людей плавным и беззаботным. Благими намерениями - дорога в ад!
Проза в том, что медиа админки в runserver хендлится специальной WSGI мидлвариной. Причем даже в основном хендлере есть проверка на наличие в урле префикса медии админки и подавлении нотификации о запросе в консоле - чтобы не пугало неподготовленное сознание!:-)
Всё это чревато, т.к. кто-то всё таки в конце пути решает свой проект оторвать от runserver и запускать его через что-то другое. В этот момент их подстерегает сюрприз - админка не так выглядит как её продавали в начале. Ну в конце концов когда уже всё готово и остался последний шаг, то подложенная свинья и не так бросается в глаза и время на правку конфига веб-сервера не особо жалко:-)
А какое ваше мнение о таком "заботливом" отношении к осваивающим фреймворк?
Комментарии 16
если у человека хватило ума поставить и сделать что-то на джанге, то он и с деплоем на живых серверах тоже в состоянии разобраться, не пробретая при этом отвращения к фреймворку. ну а случайные люди отсетются. зачем они нужны?:)
вообщем, по-моему нет никакого "маркетиногового хода". упрощенное использование админки очень полезно при разработке если необходимо что-то быстро в базе поправить, изменить. по крайней мере точно лучше пхпмайадмина:)
Оставлен 08 Сентябрь 2009 в 02:49 ¶Не так страшен перенос, зато эффектно при первом знакомстве с джангой!
Оставлен 08 Сентябрь 2009 в 03:11 ¶Если бы разработчики Джанго думал о пиаре, то в первую очередь им бы постараться как-то сделать ее доступной на простом хостинге за 1 доллар в месяц как ПХП, вот это пиар. Хотя по моему мнению такой пиар не сильно то и нужен. Кто умный и кому это нужно, тот и так разберется, показательная админка это неизменит.
Оставлен 08 Сентябрь 2009 в 03:21 ¶Да.Только-только начал изучать джангу и сие меня коснулось)
"и запускать его через что-то другое. .... - админка не так выглядит как её продавали в начале. "
может вы более прямо скажете, что надо, чтоб она всегда радовала глаз?
Оставлен 08 Сентябрь 2009 в 05:31 ¶Люди, что вы делаете, что у вас изменяется вид админки при переходе с runserver на боевой? Я тоже хочу так, чтоб меня цепляло. Без шуток.
Оставлен 08 Сентябрь 2009 в 11:00 ¶В джанге вообще содержится очень хороший набор пиарных демок, которые удобно использовать поначалу, пока не дошли руки написать соответствующую функциональность по-хорошему.
Проблема в том, что в джанге никак не помечено, что является важной идеологически и архитектурно фичей, а что - красивым, но временным костылём. Поэтому и случаются постмаркетинговые казусы, типа характерных для новичков вопросов "как мне засунуть в админку весь-весь интерфейс моего, довольно сложного сайта?".
Оставлен 08 Сентябрь 2009 в 22:21 ¶да нету там никаких маркеитнговых фич!:) это скорей условия для быстрого и комфортного развертывания разработки на РАБОЧЕМ МЕСТЕ. мне именно так видится. "The Web framework for perfectionists with DEADLINES"(c)
Оставлен 08 Сентябрь 2009 в 22:35 ¶Можно было бы считать это банальным "облегчением жизни", но черт возьми, почему тогда проектная статика не отдается тем же способом - облегчать так уж до конца.
Неееет, тут именно коварный замысел!:-)
Оставлен 08 Сентябрь 2009 в 22:47 ¶как это проектная статика не отдается таким же способом?
urlpatterns = patterns('', (r'^media/(?P.*)$', 'django.views.static.serve', {'document_root': '/some/path/to/media/'}),
админка на рабочем месте это по сути приложение "из коробки". вполне уместно все настройки и составные части пхнуть в один пак.
на живых серверах как правило не ставят админки для "_быстрых_правок_и_фикса_контента_дб", там это уже осмысленная часть ресурса, часто кастомизированная или вообще измененный до неузнаваемости бэкенд
Оставлен 08 Сентябрь 2009 в 23:05 ¶Ну, если так отдавать проектную статику, то найдутся "программисты", которые этот способ перенесут на продакшн. По-моему, разработчики джанги стремятся поймать золотую середину между стандартным инструментом для профессионалов и лёгким в освоении - для чайников. Только середина ещё ни капли не золотая :)
Оставлен 08 Сентябрь 2009 в 23:20 ¶Лично я считаю, что это просто грязный хак, живущий со старых версий Django просто из соображений обратной совместимости.
Потому что сама админка всё равно не заработает, если не прописать её в urls.py, а раз так, то она могла бы сама иметь правило для раздачи статики вида
Многие уже не помнят, но обратный резолвинг URL'ов появился в django очень поздно, когда админка была написана и Django уже широко использовался в продакшне (http://softwaremaniacs.org/blog/2006/08/04/url-reverse/).
В общем, я этот хак не одобряю, и считаю, что разработчики вполне могли переделать отдачу статики админки на указанный выше способ, а старый сделать опциональным, включаемым через настройки, если кому надо.
Оставлен 14 Сентябрь 2009 в 08:01 ¶у разробов есть гугл группа. К чему эти сопли. Напишите туда, как лучше.
Оставлен 30 Сентябрь 2009 в 22:11 ¶:) столкнулся, перенес на продакшн сервер под nginx+fcgi+s... сделал за 30 минут...
Оставлен 11 Ноябрь 2009 в 17:25 ¶Да, это самая большая проблема новичков. Они не понимают что они делают, как это всё работает. А проблема Django, как и любого другого фреймворка в том, что он не только не помогает понять как всё работает, но и мешает. Кроме понимания HTTP+WSGI стека, теперь ещё надо понимать Django.
Оставлен 18 Ноябрь 2009 в 00:24 ¶Это глобальная проблема не только новичков. Понимают как крутятся шестеренки под их кодом единицы. Другое дело что многим это не меает делать продукт.
Но у фреймворков задача не объяснить, а помочь достичь цели. Простим им.
А надо ли? Большинству нет. Да, это плохо.
Оставлен 18 Ноябрь 2009 в 14:47 ¶Большинству не надо. Это пользователи. Программистам надо. А то получается врач, который не знает анатомии. Чо там, аспирин прописал и всё нормально, правда?
Оставлен 25 Ноябрь 2009 в 17:29 ¶Оставьте комментарий