Александр Кошелев
О Django, веб-разработке и не только...
Archive of posts with category 'django'
Какие у вас планы на 17-18ое мая этого года? Пока не знаете? Тогда я могу вам предложить интересное занятие на эти дни. В означенные дни в Москве пройдет первая российская...
Один из самых часто задаваемых вопросов на форумах по Джанге – как на одной странице выводить информацию из разных информационных блоков (пример такой ветки или вот совсем свежий). Давайте попробуем...
django-couchdb это ДБ бекэнд для Джанги с поддержкой CouchDB, разработанный командой 42cc. Начиная новый проект, я очень рассчитывал на это решение, но увы оно совсем не оправдало надежд. Основная цель...
По большому счету кроме urllib2 больше ничего и не надо. Но если хочется каких-то более удобных оберток над CouchDB REST API то есть из чего выбрать. Мне на глаза попадались...
Вы когда-нибудь задумывались каким таким магическим образом джанговская админка сияет своим синим стилем в только что созданном проекте? Ведь одна из самых больших проблем у новичков в Джанге - это...
Недавний релиз Джанги 1.1 принес с собой новую фичу - пространства имен урлов. Цель они призваны достичь благую, но увы их механизм пока не очень прозрачен и понятен при первом...
Pip это альтернатива easy_install, а как говорят сами разработчики - замена. Как известно easy_install только часть глыбы под названием setuptools. Много копий сломано по поводу нужно ли такие двухголовое чудовище,...
Как же сложно писать о том, что заняло у тебя столько сил и эмоций. Очень многое хочется рассказать, но почему-то трудно сформулировать и четко выразить мысль. Наверно это эмоции и...
Тут неожиданно для меня вскрылось, что в одном из последних релизов Djapian существенно просела производительность индексирования. Для проверки я решил найти или на худой конец намайнить какой-то большой массив данных...
Очередной релиз Djapian подоспел. Коротко расскажу о нововведениях: Добавлена работа с транзакциями Xapian при обновлении индекса. Теперь, если в процессе индексирования какого-то объекта, произойдет ошибка, то он не оставить никаких...
Много у вас разных питонячих проектов работают на одном сервере? У меня вот да. Все ли они использую одни и те же библиотеки или версии библиотек? Нет. Так как сделать,...
Предыдущий мой пост к моему удивлению вызвал бурную реакцию. В нем я рассказывал как некоторые модули джанговского приложения можно разделить на более мелкие. Общее настроение комментариев - это в большинстве...
Когда ваше джанговские приложение/проект обрастает кодом всё больше и больше, то встает вопрос как максимально удобно организовать файловую структуру. И хотя Джанга не сильно капризна и требовательна к структуре модулей/пакетов,...
Итак, продолжаю переосмысливать прошлые свои советы и снипеты, которые в нынешних условиях можно реализовать более правильно и изящно. Сейчас вот посмотрим на проблему добавления к list-view в админке своей “кнопки”...
Давным давно описывал решение проблемы с сигналами и ManyToMany полями. Вопрос остался актуальным и по сей день и частенько всплывает в форумах. Напомню суть: в save методе (или в обработчике...
На выходных в очередной раз засел за Djapian и новый релиз сделал. Качайте. Там в основном улучшения и добавление полезных фич, но есть и важный багфикс. Я перескажу Release Notes:...
Точнее оно - приложение. Где-то больше года назад я писал про свой форк этого приложения. Тогда я кое-что там исправил и немного изменил под себя. Среди комментарии к почту, посвященному...
Про полезнейшую возможность делать свои команды для для manage.py я уже писал довольно-таки давно. Но поскольку пользуюсь ими регулярно, то с того времени уже сложились некоторые “правила хорошего тона” по...
Очередная веха в жизни джанги произошла. У ORM в trunk’е появились агрегации! А следовательно уже в следующем релизе 1.1 мы официально их получим. Ура! Но что нам даст возможность агрегации?...
В прошлом посте я рассказал, как можно изменять порядок полей в форме (ну и в модели). Там я чуть-чуть затронул описание низкоуровневой реализации механизма выставления по порядку полей (атрибутов), соответствующему...
Довольно часто в форумах, либо в рассылках попадаются вопрос типа: “как изменить порядок вывода полей в форме?”. Решение на самом деле тривиальное, но нигде явно не описано. Надо этот пробел...
Как у вас выглядит процесс разработки проекта на джанге? Как вы ведете отладку, а как профилирование? Вставляете print и изучаете консоль дев сервера? Вглядываетесь в лог SQL запросов, в котором...
Беру небольшую передышку в своих изысканиях о композитных полях для большего прилива вдохновения. Подамся-ка я в другую область на время. Представим себе ситуацию(а лучше вспомним один из прошлых проектов, который...
Как вы догадались, я продолжаю тему денормализации и моей реализации композитных полей. С момента прошлого поста я успел значительно улучшить базовый CompositionField и решить несколько концептуальных проблем. Итак что же...
Нет, я не про музыку решил написать. А про композицию данный, агрегацию если хотите. В джанге на данный момент агрегации в ORM нет. Но как известно скоро должна появиться, а...
За проектом StackOverflow я наблюдал уже достаточно давно. Слушал подкасты о процессе разработки и ждал когда же увидит свет этот новый сервис. Гений его авторов позволил сделать грамотный ресурс для...
Ну вот. Даже как-то грустно. То чего все мы так долго ждали наконец свершилось. Джанга родилась в своем релизном варианте с гордым “1.0” на ярлыке. Почему грустно? Да потому, что...
Вчера джанга сделал ещё один существенный шаг на пути к долгожданному релизу 1.0. На этот раз посчастливилось обновиться инфраструктуре сигналов. Основное и главное отличие новой подсистемы сигналов - это почти...
Нет, конечно не Майкл Джонсон и Ко, а мы - отчаянные джангисты. Прошло уже больше недели, а я вот только сейчас могу рассказать, а главное даже чуть-чуть показать как это...
Опять говорю “Ура!”. В предыдущий раз это это было в связи с апгрейдом ORM. На это раз кардинальным улучшениям подверглась ещё одна очень важная часть Django - автоматический CRUD, она...
Вы никогда не задумывались на что делать ссылку в модели, если надо привязать её к пользователю? К User или Profile (любой модели которая выполняет роль “профиля”)? Этот вопрос, конечно, справедлив...
Довелось поучаствовать в очень интересной, на мой взгляд, дискуссии. Так вот, как мне кажется человек не с той стороны подходит к джанго и к agile технике как таковой. Нет. я...
Да, транк живой и в нем продолжаются интересные изменения, связанные с отладкой всей системы после qsrf. Ну и продолжается мой сериал про них. С содержанием предыдущих серий вы можете ознакомиться...
Я всё продолжаю по рабочим и не только нуждам ковырять наследование моделей, поэтому как и обещал - то ли ещё есть! Очередной сюрприз ждал меня, когда я обновляя свой блог-движок...
И так, некоторые время назад состоялось моё погружение в новый для джанго мир наследования моделей. Как и в моих домашних проектах и так и в рабочих. Исследованию подверглось мульти-табличное наследование....
В очередной раз разгребая от непомерного груза непрочитанных RSS свой ридер, наткнулся на примечательный пост некого Энди Маккея (кстати блог у него на джанге. Узнал случайно - получив от него...
Давно уже сталкиваюсь с одним неудобством в повседневной работе с джангой. Например у нас есть моделька: class Entry( models.Model ): title = models.CharField( max_length = 150 ) type = <...>...
Наконец-то! Уверен, что я не один воскликнул это слово, когда узнал что долгожданная queryset-refactor ветка влилась в транк и теперь ORM в джанго стал ещё лучше и удобней! Этого момента...
Со временем роста количества проектов, понимаешь как дорого строит их поддержка. Когда проектов мало, то что-то править и дописывать не трудно и почти не раздражает. А вот когда количество проектов...
Данный материал не является текстовой перепечаткой моего доклада на Exception #07. Это повторное изложение мыслей на заданную тему. Полная версия слайдов в формате odp - 21кб Я имею некоторый опыт...
Это безумие не только положительно, но и отрицательное, что очень хорошо. Ведь это значит, что людей заинтересовало, а уж какие они выводы делают - это уже другой вопрос. Всю неделю...
Небольшой рассказ про то как я съездил на Exception #07 Дорога Это была моя первая поездка заграницу, поэтому впечатлений только от дороги получилось много, уже не говоря о самой конференции....
Всегда приятно видеть отзыв на своё творение. А особенно, когда он исходит от очень уважаемого мною человека - Ивана Сагалаева. Спасибо. В своём посте он высказал несколько очень точных замечаний...
Это тема моего доклада на грядущей конференции Exception #07 в Киеве 15 марта. Расскажу о том, почему выбрал именно эту связку для работы. Поделюсь своим опытом. Приведу примеры из жизни...
Так. продолжаем процесс употребления кеширования, основанного на сигналах в django. О теории уже было сказано достаточно, перейдем к практике, а для этого немного пофантазируем. Итак, у нас есть приложения блога...
Как я обещал ранее, реализация кеширования с инвалидацией по-средствам сигналов - стала моей целью на прошедших каникулах. И была сделана в легкой и непринужденной атмосфере благополучия и меланхолии(я в первые...
Знак вопроса в заголовке заметили? Не спроста он там. Поскольку если в вопросе индексирования я утверждал, что выбрать есть из чего и это маленькая но проблема (как и всегда чем...
Если нет, тогда обязательно посмотрите: http://blog.michaeltrier.com/2008/2/9/django-screencasts-7-newforms-admin-i Смотреть, откинувшись на спинку стула, тем, кто уже давно присматривается к ветке newforms-admin, но боится её сам попробовать. Режиссер, актер и продюсер Майкл Триер....
Обновление от 24 февраля 2009 года: проект я прекратил развивать, т.к. получил полный доступ к проекту Djapian. Все нижеперчисленные идеи уже туда портированы, успели проэволюционировать и дополниться другими. Так что...
Вчера, пролистывая rss подписку del.icio.us, наткнулся на интересный пост в неизвестном не блоге - Django blogs vs. Wordpress.org. vs. WordPress.com. Прочитав, я понял, что не согласен с автором во многих...
А вы задумывались как работает волшебный manage.py? Как он там внутри устроен? А, между прочим, очень интересно. Вначале чуть-чуть истории. До августа прошлого года вся логика manage.py была в одном...
Совсем недавно открылся проект http://djangopeople.net - сообщество джанго разработчиков. За короткий срок там уже зарегистрировалось больше тысячи двухсот джангистов по всему миру. Конечно не обошли вниманием этот сервис и наши,...
Часто нужно в шаблоне вывести какой-то конфигурационный параметр. Нет, не тот который в settings.py, а тот который хранится в базе. Ну например префикс заголовка страниц, содержимое мета-тега в head или...
Очень часто встает задача организации поиска информации, которая хранится на сайта. Причем не простой поиск, а с богатыми возможностями и хорошими результатами, чтобы мы получили то что искали, а не...
И опят речь пойдет об оптимизации, но оптимизации не программной части сайта, а работы человека с сайтом. Вас никогда не напрягало то, что в штатной джанговской админке для того чтобы...
Все хотят выжать из своих приложений максимум производительности. Общепринятые техники это - оптимизация и кеширование. Про один из вариантов оптимизации - запросов к базе, я уже писал, а вот про...
Продолжаю свой маленький мини спринт по подгребанию всех залежавшихся проектов и идей. Первая ласточка, набросанная за несколько часов. Это сервис подсветки кода highlightit.org. Его особенность в том, что можно подсветить...
Уже давно известно о небольшой(?) проблеме, связанной с post_save сигналом и ManyToMany отношением моделей. Для примера, Лориен столкнулся некоторое время назад с ней, о чем есть интересный тред на форуме....
Некоторое время назад фиды постов и комментариев на блоге были переведены в feedburner. Надеюсь не надо говорить что это и зачем:) Для подписчиков это незаметно благодаря умному редиректу. Одной из...
Недавно встал вопрос о реализации пингбека для блога. Как известно серверная часть этого протокола организуется через xml-rpc. И тут всё отлично, в стандартную поставку питона входит простой xml-rpc сервер, которого...
В рамках нового раздела, набралось некоторое количество ссылок связанных с джанго. Не забудьте пролистать, может найдете что-то полезное для себя. Вы можете предложить ещё. Подключайтесь!:) Так же можно подписаться на...
Сегодня почти случайно узнал об одной приятной фенечке, которая появилась в django(наверно недавно). Это приятность заключается в появлении нового дополнительно параметра для обработчика сигнала post_save - created. Теперь можно узнать...
Начну немного издалека. На протяжении всего времени моей работы с джанго, я как-то не очень задумывался о производительности приложений. Мне везло(хотя это как посмотреть), проекты были не очень большие, нагрузка...
Lazy evaluation - ленивые вычисления. Очень хорошая идиома свойственная функциональным языкам программирования и python в том числе. Выполнять действия по требованию достаточно выгодно - не расходуются ресурсы в пустую. Если...
Да, я знаю, что ещё нет и версии 1.0, но её может и не быть, точнее она может появиться просто формально. Даже есть вариант, что версии 0.96 будет присвоен гордый...
Очень часто приходится писать менеджеры для моделей, которые осуществляют фильтр query_set’a по одному или нескольким заранее известным полям. Ну например менеджер для активных/не активных статей и т.п. Код самого менеджера...
Причина Проблема развертывания джанго приложений в продакшене до недавнего времени у меня стояла остро. Моя стандартная связка nginx+threaded fastcgi(flup) была очень не стабильна. Из-за достаточно ограниченных ресурсов (памяти) на серверах...
Недавно заприметил один, как мне показалось, занимательный снипет. Это простая реализация конструкции switch/case конструкции для джанго шаблонов. Хотя позиция разработчиков джанги, что шаблонный язык(хотя они говорят даже, что это не...
Наверно многие как и я активно следят за изменениями в транке джанго. Но не всегда есть возможность мониторить user groups, а вот самого от trac‘а получить нужную информацию можно легко....