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

Мутанты из OpenID

28.03.2007

Cicero, OpenID, Django

Теперь я могу признаться, что мутанты для меня изначально были Самой Главной Фичей форума. Серьезно! Вообще, идея написать "правильный форум" была у меня очень-очень давно (так давно, что в те времена я думал написать его на C++). В начале прошедшей зимы она возродилась уже на новом уровне, когда я стал ...

OpenID и hCard в Cicero

25.03.2007

Cicero, Web, OpenID, Django

Начну так. Соединение из OpenID и hCard — это дикий фонтанирующий рулез! Это чертово будущее онлайн-регистрации, которое все обязаны реализовать в своих продуктах прямо сейчас!!! Вниманию непрограммирующей публики! Итак, в Cicero появилась возможность логиниться с помощью OpenID. Что в первую очередь означает, что: для этого форума никому не нужен будет ...

РИТ-2007, Django

22.03.2007

Django

На грядущей конференции РИТ-2007 мы с Григорием Бакуновым (он же — bobuk) из Яндекса будем делать доклад по Django. Я расскажу, что такое Django в общем и целом, а Григорий затронет моменты его использования в большой компании (в Яндексе то есть). Я буду очень рад познакомиться с теми читателями Маниакального ...

Cicero: черновой стайлинг

13.03.2007

Cicero, Django

Последний набег на код форума Cicero был связан с внешним видом. Включил текстовые фильтры, придумал, как разделять шаблоны форума и сайта, добавил паджинатор и сделал черновую стилизацию. Особенно хочется поделиться про фильтры и шаблоны, довольно удачно получилось! Bzr-репозиторий http://softwaremaniacs.org/code/cicero/ Работающий форум http://softwaremaniacs.org/forum/ Подключение фильтров Самое интересное, что я тут придумал ...

AutoOneToOneField

07.03.2007

Cicero, Django

Вчера я выражал неудовольствие собственным решением по автоматическому созданию профилей форума для пользователей. Напомню суть: При заведении в системе новых пользователей, никто автомагически не будет для них создавать записи Profile’ов, и обращение user.cicero_profile будет вызывать exception. Поэтому, надо их где-то создавать. Я для этого использую middleware, которое вешается где-нибудь после ...

Первая реализация постинга

06.03.2007

Cicero, Django

Cicero дорос до возможности постить в него текст. Сегодня реализовал две формы с проверкой ошибок, придумал связь с Django'вскими пользователями, и у меня есть пара вопросов к аудитории. Но сначала вопрос немного другой. Я все никак не могу решить, нужно ли писать подробней? Если это интересно кому-нибудь из совсем новичков ...

Модель форума

03.03.2007

Cicero, Django

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

Cicero

01.03.2007

Cicero, Django

Задумал написать форум. Вообще-то это должно быть смешно, да? :-). Столько разных форумов понаписано — выбирай только. Но я уверен, что форумов не может быть много: есть толпа вариантов и мелочей, которыми можно быть довольным или недовольным. Вот и у меня появилось достаточно идей, желаний и недовольств моим текущим форумом, ...

В защиту Django!

23.01.2007

Django

Заголовок поста задуман ироничным, потому что никакой более конкретной темы у поста нет :-). Потому что планировал я его про одно, но Pythy написал свою подначку, и я решил вытащить шашку наголо и защитить любимый фреймворк! И вот, чтобы не пускать два связанных поста один за другим, я их соптимизировал. ...

Контролируемое скачивание 2

Это долгожданное (в основном мной :-) ) продолжение статьи "Контролируемое скачивание", где я писал про то, как я реализовывал скачивание с авторизацией, контролем скорости и успешного завершения в Неком Музыкальном Сервисе. Сервис мы запустили в конце декабря в работу, и о нем у меня будет еще, что написать в самое ...

Присваивание зависимых объектов в Django

07.12.2006

Django

Недавно в Django'вской рассылке увидел хороший удобный способ полностью переназначить зависимые объекты. Раньше всегда делал так: album.tags.clear() for tag in tag_list: album.tags.add(tag) Оказывается, можно сильно проще: album.tags = tag_list В виде tag_list сойдет любой iterable. Вот я теперь думаю, это один я такой тормозной, и все давно так и делают?

Хороший фреймворк плохого не посоветует

Одна из неочевидных, но очень сильных сторон Django в том, что он заставляет проектировать веб-приложение правильно. В основном путем отказа включения в фреймворк вещей, которые слишком легко использовать неправильно. Один из ярких примеров — отказ включать "поддержку ajax". Я взял это в кавычки, потому что это оксюморон: ajax не нуждается ...

Duck typing в действии

Практический пример использования особенности, известной как "duck typing", для не программирующих на Питоне. Впрочем, программирующим тоже может быть интересно :-) "Если это ходит, как утка, и крякает, как утка, то значит это утка" — это принцип, по которому в Питоне и некоторых других динамических языках считается, что то, что объект ...

Скорость фреймворка

Меня периодически спрашивают, насколько быстр Django. Или как он быстр в сравнении с PHP, Java или Rails. И я не менее периодически затрудняюсь на такой вопрос сразу ответить. Ответ прямо С одной стороны, если отвечать на этот вопрос прямо, то Django "очень быстрый". Или, что точнее, "очень мало тормозит", потому ...

Поиск по документации Django для Firefox

05.10.2006

Django

Один человек сделал плагин для поиска по документации Django для Firefox. Удобство хоть и небольшое, но все равно приятно :-).

URL в шаблонах через reverse

04.08.2006

Django

URL'ки в Django переводятся в вызовы обработчиков через набор регулярных выражений. Это делает возможным выбирать вид URL'ов, который вам нравится, измененять структуру URL'ов, не трогая код приложений, и писать переносимые приложения, которые можно подключать внутрь структуры URL'ов других сайтов. На старости лет я найду себе работу, где надо будет писать ...

Род Django

30.07.2006

Django

Вышел(шло, шла) Django версии 0.95. Относительно предыдущей официальной версии 0.91 фреймворк изменился очень сильно, но с другой стороны, все вокруг давно уже рекомендовали пользоваться новым текущим кодом, даже документация была для него переписана. Но теперь после официализации этой версии путаницы станет меньше. Но пост, на самом деле, не об этом. ...

Менеджеры моделей

20.07.2006

Django

Вчера отвечал на пост в моем Django'вском форуме и заодно вспомнил написать про относительно новую штуку в Django, которая появилась после включения ветки magic-removal — менеджеры моделей. Что это такое Сам по себе менеджер модели — это скомпонованные в один класс методы, которые отвечают за формирование SQL запросов к таблице ...

Фреймворк, который не мешает

Прочитал в статье про RoR на Never-Invited.com: Только нужно понимать одну вещь: Rails облегчает стандартные вещи. Если вам нужно что-то уникальное от начала и до конца, то Rails будет скорее мешать. Как, впрочем, и любой другой framework. Секундочку! Я никогда не писал ничего в Rails, поэтому не могу сказать, насколько ...

TagsField in English

09.06.2006

Django

Since I've published my little Django tag library "TagsField" I noticed many attempts to translate the page into English using BabelFish (and I know just how hideous the result tends to be :-) ). So I've found the time to translate it and am happy to invite all English-speaking Django ...