Archive of posts with category 'django'

DevConf::Python() 2010

Какие у вас планы на 17-18ое мая этого года? Пока не знаете? Тогда я могу вам предложить интересное занятие на эти дни. В означенные дни в Москве пройдет первая российская...

В одну корзину

Один из самых часто задаваемых вопросов на форумах по Джанге – как на одной странице выводить информацию из разных информационных блоков (пример такой ветки или вот совсем свежий). Давайте попробуем...

django-couchdb не взлетел

django-couchdb это ДБ бекэнд для Джанги с поддержкой CouchDB, разработанный командой 42cc. Начиная новый проект, я очень рассчитывал на это решение, но увы оно совсем не оправдало надежд. Основная цель...

Питонячьи библиотеки для CouchDB

По большому счету кроме urllib2 больше ничего и не надо. Но если хочется каких-то более удобных оберток над CouchDB REST API то есть из чего выбрать. Мне на глаза попадались...

Произвести впечатление любой ценой

Вы когда-нибудь задумывались каким таким магическим образом джанговская админка сияет своим синим стилем в только что созданном проекте? Ведь одна из самых больших проблем у новичков в Джанге - это...

Пространства имен

Недавний релиз Джанги 1.1 принес с собой новую фичу - пространства имен урлов. Цель они призваны достичь благую, но увы их механизм пока не очень прозрачен и понятен при первом...

Что такое pip?

Pip это альтернатива easy_install, а как говорят сами разработчики - замена. Как известно easy_install только часть глыбы под названием setuptools. Много копий сломано по поводу нужно ли такие двухголовое чудовище,...

Виджет на морде

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

Djapian: версия 2.2.1 - хотфиксы

Тут неожиданно для меня вскрылось, что в одном из последних релизов Djapian существенно просела производительность индексирования. Для проверки я решил найти или на худой конец намайнить какой-то большой массив данных...

Djapian: версия 2.2

Очередной релиз Djapian подоспел. Коротко расскажу о нововведениях: Добавлена работа с транзакциями Xapian при обновлении индекса. Теперь, если в процессе индексирования какого-то объекта, произойдет ошибка, то он не оставить никаких...

virtualenv: виртуальные окружения

Много у вас разных питонячих проектов работают на одном сервере? У меня вот да. Все ли они использую одни и те же библиотеки или версии библиотек? Нет. Так как сделать,...

Разделять надо с умом

Предыдущий мой пост к моему удивлению вызвал бурную реакцию. В нем я рассказывал как некоторые модули джанговского приложения можно разделить на более мелкие. Общее настроение комментариев - это в большинстве...

Разделяем толстые модули

Когда ваше джанговские приложение/проект обрастает кодом всё больше и больше, то встает вопрос как максимально удобно организовать файловую структуру. И хотя Джанга не сильно капризна и требовательна к структуре модулей/пакетов,...

Revisited: Чуть более быстрое удаление объектов в админке

Итак, продолжаю переосмысливать прошлые свои советы и снипеты, которые в нынешних условиях можно реализовать более правильно и изящно. Сейчас вот посмотрим на проблему добавления к list-view в админке своей “кнопки”...

Revisited: M2M отношение и post_save сигнал

Давным давно описывал решение проблемы с сигналами и ManyToMany полями. Вопрос остался актуальным и по сей день и частенько всплывает в форумах. Напомню суть: в save методе (или в обработчике...

Djapian: версия 2.1

На выходных в очередной раз засел за Djapian и новый релиз сделал. Качайте. Там в основном улучшения и добавление полезных фич, но есть и важный багфикс. Я перескажу Release Notes:...

Djapian 2.0!

Точнее оно - приложение. Где-то больше года назад я писал про свой форк этого приложения. Тогда я кое-что там исправил и немного изменил под себя. Среди комментарии к почту, посвященному...

Как правильно отдавать команды

Про полезнейшую возможность делать свои команды для для manage.py я уже писал довольно-таки давно. Но поскольку пользуюсь ими регулярно, то с того времени уже сложились некоторые “правила хорошего тона” по...

Попрошу обобщать!

Очередная веха в жизни джанги произошла. У ORM в trunk’е появились агрегации! А следовательно уже в следующем релизе 1.1 мы официально их получим. Ура! Но что нам даст возможность агрегации?...

Принуждение к порядку

В прошлом посте я рассказал, как можно изменять порядок полей в форме (ну и в модели). Там я чуть-чуть затронул описание низкоуровневой реализации механизма выставления по порядку полей (атрибутов), соответствующему...

К порядку!

Довольно часто в форумах, либо в рассылках попадаются вопрос типа: “как изменить порядок вывода полей в форме?”. Решение на самом деле тривиальное, но нигде явно не описано. Надо этот пробел...

Висит себе такой toolbar

Как у вас выглядит процесс разработки проекта на джанге? Как вы ведете отладку, а как профилирование? Вставляете print и изучаете консоль дев сервера? Вглядываетесь в лог SQL запросов, в котором...

Сливаемся

Беру небольшую передышку в своих изысканиях о композитных полях для большего прилива вдохновения. Подамся-ка я в другую область на время. Представим себе ситуацию(а лучше вспомним один из прошлых проектов, который...

Композиция: ForeignAttributeField

Как вы догадались, я продолжаю тему денормализации и моей реализации композитных полей. С момента прошлого поста я успел значительно улучшить базовый CompositionField и решить несколько концептуальных проблем. Итак что же...

Красивая композиция

Нет, я не про музыку решил написать. А про композицию данный, агрегацию если хотите. В джанге на данный момент агрегации в ORM нет. Но как известно скоро должна появиться, а...

Слишком много дров точка ком

За проектом StackOverflow я наблюдал уже достаточно давно. Слушал подкасты о процессе разработки и ждал когда же увидит свет этот новый сервис. Гений его авторов позволил сделать грамотный ресурс для...

Рождение Django 1.0

Ну вот. Даже как-то грустно. То чего все мы так долго ждали наконец свершилось. Джанга родилась в своем релизном варианте с гордым “1.0” на ярлыке. Почему грустно? Да потому, что...

А вы поймали новые сигналы?

Вчера джанга сделал ещё один существенный шаг на пути к долгожданному релизу 1.0. На этот раз посчастливилось обновиться инфраструктуре сигналов. Основное и главное отличие новой подсистемы сигналов - это почти...

Спринтеры в Яндексе

Нет, конечно не Майкл Джонсон и Ко, а мы - отчаянные джангисты. Прошло уже больше недели, а я вот только сейчас могу рассказать, а главное даже чуть-чуть показать как это...

У админки новые формы

Опять говорю “Ура!”. В предыдущий раз это это было в связи с апгрейдом ORM. На это раз кардинальным улучшениям подверглась ещё одна очень важная часть Django - автоматический CRUD, она...

Юзер или профиль?

Вы никогда не задумывались на что делать ссылку в модели, если надо привязать её к пользователю? К User или Profile (любой модели которая выполняет роль “профиля”)? Этот вопрос, конечно, справедлив...

Про не свой монастырь, но свой устав

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

Наследство с особенностями - 3

Да, транк живой и в нем продолжаются интересные изменения, связанные с отладкой всей системы после qsrf. Ну и продолжается мой сериал про них. С содержанием предыдущих серий вы можете ознакомиться...

Наследство с особенностями - 2

Я всё продолжаю по рабочим и не только нуждам ковырять наследование моделей, поэтому как и обещал - то ли ещё есть! Очередной сюрприз ждал меня, когда я обновляя свой блог-движок...

Наследство с особенностями

И так, некоторые время назад состоялось моё погружение в новый для джанго мир наследования моделей. Как и в моих домашних проектах и так и в рабочих. Исследованию подверглось мульти-табличное наследование....

У джанго воруют sql! Целыми запросами

В очередной раз разгребая от непомерного груза непрочитанных RSS свой ридер, наткнулся на примечательный пост некого Энди Маккея (кстати блог у него на джанге. Узнал случайно - получив от него...

Перечисления на службе добра

Давно уже сталкиваюсь с одним неудобством в повседневной работе с джангой. Например у нас есть моделька: class Entry( models.Model ): title = models.CharField( max_length = 150 ) type = <...>...

qs-refactor уже в транке!

Наконец-то! Уверен, что я не один воскликнул это слово, когда узнал что долгожданная queryset-refactor ветка влилась в транк и теперь ORM в джанго стал ещё лучше и удобней! Этого момента...

svn:externals и django - дружба на век

Со временем роста количества проектов, понимаешь как дорого строит их поддержка. Когда проектов мало, то что-то править и дописывать не трудно и почти не раздражает. А вот когда количество проектов...

Python и Django - платформа для фрилансера. Часть 1

Данный материал не является текстовой перепечаткой моего доклада на Exception #07. Это повторное изложение мыслей на заданную тему. Полная версия слайдов в формате odp - 21кб Я имею некоторый опыт...

Все без ума от GAE

Это безумие не только положительно, но и отрицательное, что очень хорошо. Ведь это значит, что людей заинтересовало, а уж какие они выводы делают - это уже другой вопрос. Всю неделю...

Exception #07. Как это было

Небольшой рассказ про то как я съездил на Exception #07 Дорога Это была моя первая поездка заграницу, поэтому впечатлений только от дороги получилось много, уже не говоря о самой конференции....

Кеширование. Инвалидация сигналами. Десерт

Всегда приятно видеть отзыв на своё творение. А особенно, когда он исходит от очень уважаемого мною человека - Ивана Сагалаева. Спасибо. В своём посте он высказал несколько очень точных замечаний...

Python и Django - платформа для фрилансера

Это тема моего доклада на грядущей конференции Exception #07 в Киеве 15 марта. Расскажу о том, почему выбрал именно эту связку для работы. Поделюсь своим опытом. Приведу примеры из жизни...

Кеширование. Инвалидация сигналами. Трапеза

Так. продолжаем процесс употребления кеширования, основанного на сигналах в django. О теории уже было сказано достаточно, перейдем к практике, а для этого немного пофантазируем. Итак, у нас есть приложения блога...

Кеширование. Инвалидация сигналами. Аперитив

Как я обещал ранее, реализация кеширования с инвалидацией по-средствам сигналов - стала моей целью на прошедших каникулах. И была сделана в легкой и непринужденной атмосфере благополучия и меланхолии(я в первые...

Мультиязычность. Проблемы выбора?

Знак вопроса в заголовке заметили? Не спроста он там. Поскольку если в вопросе индексирования я утверждал, что выбрать есть из чего и это маленькая но проблема (как и всегда чем...

А вы уже видели новый неголливудский блокбастер о newforms-admin?

Если нет, тогда обязательно посмотрите: http://blog.michaeltrier.com/2008/2/9/django-screencasts-7-newforms-admin-i Смотреть, откинувшись на спинку стула, тем, кто уже давно присматривается к ветке newforms-admin, но боится её сам попробовать. Режиссер, актер и продюсер Майкл Триер....

Допиливаем djapian. Встречайте django-xapian!

Обновление от 24 февраля 2009 года: проект я прекратил развивать, т.к. получил полный доступ к проекту Djapian. Все нижеперчисленные идеи уже туда портированы, успели проэволюционировать и дополниться другими. Так что...

Блог, джанго и разработчик. Любовный треугольник?

Вчера, пролистывая rss подписку del.icio.us, наткнулся на интересный пост в неизвестном не блоге - Django blogs vs. Wordpress.org. vs. WordPress.com. Прочитав, я понял, что не согласен с автором во многих...

Командовать парадом будет Django!

А вы задумывались как работает волшебный manage.py? Как он там внутри устроен? А, между прочим, очень интересно. Вначале чуть-чуть истории. До августа прошлого года вся логика manage.py была в одном...

Джанго люди

Совсем недавно открылся проект http://djangopeople.net - сообщество джанго разработчиков. За короткий срок там уже зарегистрировалось больше тысячи двухсот джангистов по всему миру. Конечно не обошли вниманием этот сервис и наши,...

Конфигурационные данные в шаблонах

Часто нужно в шаблоне вывести какой-то конфигурационный параметр. Нет, не тот который в settings.py, а тот который хранится в базе. Ну например префикс заголовка страниц, содержимое мета-тега в head или...

Индексирование. Проблемы выбора

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

Чуть более быстрое удаление объектов в админке

И опят речь пойдет об оптимизации, но оптимизации не программной части сайта, а работы человека с сайтом. Вас никогда не напрягало то, что в штатной джанговской админке для того чтобы...

Быстрее, ещё быстрее!

Все хотят выжать из своих приложений максимум производительности. Общепринятые техники это - оптимизация и кеширование. Про один из вариантов оптимизации - запросов к базе, я уже писал, а вот про...

Новый сервис highlightit.org

Продолжаю свой маленький мини спринт по подгребанию всех залежавшихся проектов и идей. Первая ласточка, набросанная за несколько часов. Это сервис подсветки кода highlightit.org. Его особенность в том, что можно подсветить...

M2M отношение и post_save сигнал

Уже давно известно о небольшой(?) проблеме, связанной с post_save сигналом и ManyToMany отношением моделей. Для примера, Лориен столкнулся некоторое время назад с ней, о чем есть интересный тред на форуме....

FeedBurner статистика через API

Некоторое время назад фиды постов и комментариев на блоге были переведены в feedburner. Надеюсь не надо говорить что это и зачем:) Для подписчиков это незаметно благодаря умному редиректу. Одной из...

xmlrpc - путь django

Недавно встал вопрос о реализации пингбека для блога. Как известно серверная часть этого протокола организуется через xml-rpc. И тут всё отлично, в стандартную поставку питона входит простой xml-rpc сервер, которого...

Подборка ссылок о django и новое на блоге

В рамках нового раздела, набралось некоторое количество ссылок связанных с джанго. Не забудьте пролистать, может найдете что-то полезное для себя. Вы можете предложить ещё. Подключайтесь!:) Так же можно подписаться на...

Создан или изменен?

Сегодня почти случайно узнал об одной приятной фенечке, которая появилась в django(наверно недавно). Это приятность заключается в появлении нового дополнительно параметра для обработчика сигнала post_save - created. Теперь можно узнать...

Волшебный метод extra

Начну немного издалека. На протяжении всего времени моей работы с джанго, я как-то не очень задумывался о производительности приложений. Мне везло(хотя это как посмотреть), проекты были не очень большие, нагрузка...

Ленитесь! Это здорово

Lazy evaluation - ленивые вычисления. Очень хорошая идиома свойственная функциональным языкам программирования и python в том числе. Выполнять действия по требованию достаточно выгодно - не расходуются ресурсы в пустую. Если...

Ждем django 2.0?

Да, я знаю, что ещё нет и версии 1.0, но её может и не быть, точнее она может появиться просто формально. Даже есть вариант, что версии 0.96 будет присвоен гордый...

Универсальный менеджер

Очень часто приходится писать менеджеры для моделей, которые осуществляют фильтр query_set’a по одному или нескольким заранее известным полям. Ну например менеджер для активных/не активных статей и т.п. Код самого менеджера...

Открываю для себя WSGI

Причина Проблема развертывания джанго приложений в продакшене до недавнего времени у меня стояла остро. Моя стандартная связка nginx+threaded fastcgi(flup) была очень не стабильна. Из-за достаточно ограниченных ресурсов (памяти) на серверах...

switch/case в шаблонах

Недавно заприметил один, как мне показалось, занимательный снипет. Это простая реализация конструкции switch/case конструкции для джанго шаблонов. Хотя позиция разработчиков джанги, что шаблонный язык(хотя они говорят даже, что это не...

Быстро меняющийся транк

Наверно многие как и я активно следят за изменениями в транке джанго. Но не всегда есть возможность мониторить user groups, а вот самого от trac‘а получить нужную информацию можно легко....