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

SM.Org software update 2012

23.05.2012

Python, Ubuntu, Django

Over the course of a few recent weeks I updated this site to a more modern software and revised some previously made choices. This one was loooong overdue considering that I still ran Ubuntu 9.10 before the update meaning that the system was almost 3 years old. Here are some ...

Разъяснения Рассела

14.10.2011

Django

В недавнем посте с интервью с Джанго-разработчиками меня попросили уточнить, что имел в виду Рассел Кит-Маги, говоря про WSGI и валидацию моделей. У меня и у самого эти два пункты вызывали недопонимание, поэтому я попросил его их разъяснить. Вот перевод его ответа: Так, первый пункт: WSGI на самом деле хорошо ...

Why I don't like class-based generic views

06.10.2011

Django

… because I have to replace this: def category(request, slug, language): translation.activate(language or 'ru') category = get_object_or_404(models.Category, slug=slug) return object_list(request, template_name = 'marcus/category.html', queryset = models.Article.public.language(language).filter(categories=category), paginate_by = settings.MARCUS_PAGINATE_BY, extra_context = { 'category': models.Translation(category, language), 'language': language, }, ) with this: class Category(generic.ListView): template_name = 'marcus/category.html' paginate_by = settings.MARCUS_PAGINATE_BY def ...

Ведущие разработчики о будущем Джанго

03.10.2011

Django

Во время последнего DjangoCon я пересёкся с несколькими из ведущих разработчиков и попросил их поделиться своими взглядами на будущее Джанго. Идея едва ли свежая — любого лидера чего бы то ни было постоянно достают вопросами о БУДУЩЕМ. Но у меня был и свой резон. По прошествии некоторого времени вдали от ...

Заметки с DjangoCon 2011

08.09.2011

Django

Выдалось немножко свобдного времени, решил набросать быстрых заметок про DjangoCon 2011 в Потленде. Признание Я не хотел ехать на конференцию сначала. Потому что последние полгода-год всё связанное с Джанго, Питоном, интернетом, да и вообще компьютерами стало навевать на меня тоску. Да и конференции со временем утратили очарование новизны: приехал, послушал ...

Джанго в роли микрофреймворка

07.01.2011

Django

Известно мнение, что Джанго не подходит для написания "наколеночных" проектиков, которым не нужно ничего особенно, кроме вывода HTML'а. Создание скелета проекта на Джанго считается работой, достаточно существенной для того, чтобы не заниматься ею ради пары функций. Мне всегда было "очевидно", что это не так, но недавно по оброненной коллегой фразе ...

Смена места

Пятница 24 декабря была моим последним днём работы в московском офисе Яндекса. Как многие уже в курсе, мы с Алёной переехали в Сиэтл. Она будет работать в Bing, а я получил от Яндекса чудесное предложение быть внештатным консультантом, которое с радостью и принял. Было Моя главная работа в Яндексе заключалась ...

Дизайн API Я.ру

Вчера мы открыли в бету API для Я.ру. Это был первый пост в корпоративном блоге Яндекса с кодом на Питоне, что даже породило фан-арт :-). Для меня этот запуск имеет большое эмоциональное значение, потому что машиночитаемый веб — мой давний интерес, и этот проект — первый неигрушечный публичный API, где ...

Marcus: двуязычный блог

18.07.2010

Django

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

Безопасные умолчания

По наводке Романа Ворушина почитал пост Дика Липтона о том, что в проектировании систем должны закладываться безопасные умолчания. И мне вспомнилась похожая штука из истории Джанго. Когда-то давно у модели пользователя был метод is_anonymous(), который предполагалось проверять в шаблонах для определения, что показывать незалогиненному пользователю: {% if user.is_anonymous %} Login... ...

SubHub

07.02.2010

Web, Django

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

Pingdjack

20.01.2010

Django

Понадобился мне недавно pingback-сервер, и я, посмотрев на django-pingback, в приступе NIH-синдрома написал своё приложение — pingdjack. За название спасибо Михаилу Лукьянченко. Отмазка Более-менее реальные претензии к django-pingback у меня тоже есть. Хотя я сразу признаюсь, что не пробовал во что бы то ни стало с ней ужиться, просто код ...

{% tree %}: деревья в Джанго-шаблонах

21.09.2009

Django

Буквально вчера ночью, вместо того, чтобы рисовать слайды для выступления на 404fest я как-то неожиданно написал кусок кода, который может кому-то ещё пригодиться. Это шаблонный тег и вспомогательный фильтр, которые умеют выводить в шаблон древовидные структуры в виде вложенных списков <ul> (вот таких, например). Несмотря на то, что изначально я ...

Сципион

26.08.2009

OpenID, Django

Люций Корнелий Сципион по прозвищу Бородатый жил в Древнем Риме порядка трёх сотен лет до нашей эры. Был он не самым безвестным человеком. Сначала военачальником, довольно успешным, выигравшим несколько известных битв. А к концу жизни дослужился до должности консула. Но помимо прочего, был он ещё и цензором. Дойдя до наших ...

Собственные фильтры полей в админке Django

30.07.2009

Django

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

Частные проблемы использования django-evolution

16.06.2009

Django

Сегодняшний день для меня ознаменовался эпичной битвой с django-evolution. С различными неудобствами этого приложения мы в разработке сначала Куда Все Идут, а потом Афиши сталкиваемся уже довольно давно. Сегодняшний же случай наконец заставил меня перебороть лень и изложить эти проблемы для публики. Должен, тем не менее, обязательно сказать, что не ...

Зачем нужны сигналы

На днях у меня в форуме возникли почти подряд два топика про сигналы. Оба напомнили мне давно закравшееся в голове подозрение о том, что для многих сигналы — это магия из серии "если что-то не выходит, наверняка для этого нужны сигналы" :-). Хочу раскрыть тему, потому как рамки форумного ответа ...

Django 1.1 beta

26.03.2009

Django

Как многие, без сомнения, знают, недавно вышла Django 1.1 beta. Там в release notes все самое вкусное перечислено, а я немножко вокруг покомментирую. Одна из когда-то давно слезно просимых фич — загрузка объектов с неполным списком полей (aka "defer/only"). Раньше это делалось через .values(), но результатом запроса был тупой набор ...

{% media %}

21.03.2009

Django

Незабвенный герой Анатолия Папанова говаривал, что ежели человек идиот, то это надолго. Мне сейчас кажется, что я как раз в такой ситуации :-). Это я о том, как в джанговских шаблонах делать ссылки на JS, CSS и прочую media. Я всегда пропагандировал простой способ: прокидывать в шаблоны переменную MEDIA_URL, используя ...

Еще один

16.03.2009

Django

isagalaev@isagalaev:~$ curl -is http://afisha.yandex.ru/ | grep Server: Server: lighttpd / Pony Powered! Вот! Подробности позже. И, наверное, даже не у меня...