Итак, c сегодняшнего дня форум сайта pydev.ru фунционирует на базе pybb. Первая стадия развития pybb — наполнение базовыми фичами — закончена. Теперь я займусь оптимизацией. Страшно подумать — на многих страницах количество запросов к базе данных переваливает за сотню.
Итак, что реализовано в pybb на данный момент:
-
Иерархия вида Категории > форумы > топики > посты. Каждый объект имеет свою страницу, кроме постов, которые хоть и имеют постоянный url, но в действительности этот url редиректся на ту страницу топика, которая содержит в данный момент нужный пост.
-
Разметка постов через bbcode или markdown. Возможность выбрать режим разметки по умолчанию.
-
Модераторы: каждому форуму можно назначить модераторов, которые будут иметь возможность редактировать сообщения в этом форуме
-
Возможность закрепить топик в форуме, возможность закрыть топик.
-
Email подписка на новые ответы в теме
-
Автары
-
Профиль, автоматически создающийся для каждого пользователя. Профиль содержит подпись, временную зону, аватар, контактную информацию.
-
Механизм отметки прочитанных топиков.
-
Кривенький “дизайн”, который я смотрел пока только в FF3 :-)
-
импортирование из punbb базы с поддержкой всех вышеописанных фич
Ссылки:
Пожелания, вопросы, багрепорты, патчи можно слать мне на мыло lizendir@gmail.com или лучше в trac (там надо залогиниться через user:user)
По работе пришлось столкнуться с генерацией excel файлов через pyExcelerator, в связи с чем обнаружил парочку полезных ссылок по этой очень слабо документированной теме в мире python. Итак:
Здесь коротко и ясно показывается, как назначать шрифт, цвет тексту и фону, рамки, выравнивание и даже склеивание колонок.
Здесь какой-то чувак рассказывает, что сделал форк от pyExcelerator и назвал его xlwt. В чём отличия от оригинала — не знаю ) Там же есть ссылка на полезную штуку, в которой мне приглянулся подход для автоматизации рутинных действий при работе со стилями pyExceleratorа.
Оказывается, существует google группа для программистов на python, которым приходится работать с excel файлами. Насколько, я понимаю, там в основном обсуждаются xlrd и pyExcelerator.
А вот тут можно скачать excel-файл, в котором даны цветовые коды, которые вам понадобятся, если вы захотите раскрасить excel-файл.
На всякий случай. Если кто не знает. Для парсинга excel файлов есть вполне вменяемое и документированные решение: библиотека xrld
Я опять начал разработку форума PYBB. Движок пишу с нуля т.к. прошлая попытка была год назад и тот код основательно протух, да и концепция поменялась.
Основная идея нового подхода: форум должен легко встраиваться в существующие django проекты. В дистрибутив форума не входят функции для регистрации и даже авторизации пользователей — это должен уметь сторонний проект. Если нужно использовать форум сам по себе, то можно положить рядом с ним django-registration или мой django-account и всё долно заработать т.к. форум настроен на имена урлпаттернов, которые используются в вышеназванных приложениях.
Демку можно посмотреть здесь: http://pybb.org Я написал конвертер punbb —> pybb и импортировал данные форума pydev.ru/forum/ в демку pybb. Не пытайтесь авторизоваться под своим логином с pydev.ru т.к. пароли я ещё не научился переносить :-) Демка использует django-account.
Исходный код можно посмотреть здесь: http://hg.pydev.ru/pybb
Иногда бывает нужно обратиться к элементу, который находится где-то рядом с данным. Известно лишь, что они оба имеют какого-то общего предка. Ну, например, нужно при клике на картинку, прятать блок, который находится в той же ячейке таблицы, что и картинка.
Для таких вещей в jQuery удобно использовать функции parents/find. parents ищет среди родителей элемента нужный селектор, find — среди дочерних элементов. Самое главное, что поиск осуществляется на всех уровнях дерева объектов, а не только на соседних. Конкретно, для описанного выше примера нас выручит следующий код:
<img src="img.jpg" onclick="$(this).parents('td').find('.some_class').hide()" />
Гм, собственно, вот и всё, что я хотел сказать :o)
Dumpz.org — это сервис обмена кодом, написанный на python/django. Это opensource проект. Недавно я написал на хабр, получил кучу отзывов — приятно :-) За день зашла тыща человек, внушительный размер по сравнению с обычной посещаемостью сайта. После публикации заметки ко мне обратился Евгений из pridedesign.ru и предложил помощь в проработке интерфейсов сайта, так что скоро выкатим новый дизайн. Если кто-то хочет поучавствовать в развитии проекта — добро пожаловать на:
Про сами знаете что, написала пара людей, поэтому просто дам ссылки на них. Мне самому по большому счёту фиолетово, что у сами знаете чего вышел релиз т.к. я всегда и везде юзал и буду юзать trunk :-) piranha — хочет продолжать разработку Byteflow на замороженном релизе, мне тоже эта идея кажется разумной, вот, видимо и всё влияние релиза на меня :-)
Ссылки в рунете про релиз, сами знаете чего:
Кому нужно больше, пожалуйста: http://blogs.yandex.ru/search.xml?text=django, но они все там мелкие какие-то.