ilvar: (Default)

Тут нам кагбэ подсказывают, на чем работает блог Блоггера Класса ААА+. Угу, на ней, родимой. Это к вопросам о применимости, нагруженности и т.п.

This is crossposted entry. ilvar.ru

ilvar: (Default)

Процитирую-ка кусочек кода из свежего поста Ивана Сагалаева:

class Form(forms.Form):
    field = forms.ChoiceField(..., show_hidden_initial=True)
    # ...

if form.is_valid():
    form.instance.__dict__.update(form.changed_data)
    form.instance.save()

Эта штука (form.changed_data) дает при изменении объекта обработать только те поля, которые были реально изменены. Джанго просто-таки прекрасен!

This is crossposted entry. ilvar.ru

ilvar: (Default)

Поставил тут на одном проектике django-test-utils за ради командочки crawlurls, которая обходит все урлы сайта и падает, если что где не найдено. Потыкался, особо не проникся, но тут взгляд у меня упал на забранный из репозитория в каталог команд файлик testmaker.py… Теперь вот корю себя, какого фига не полез туда месяц назад. Вкратце: эта штука запускает обычный джанговский дев-сервер, но все действия юзера ПИШЕТ В ЮНИТ-ТЕСТ! Этакий Selenium IDE для джанго-бэкенда. Аццки жажду попробовать :)

This is crossposted entry. ilvar.ru

ilvar: (Default)

Вчера прочел интересную статью на Хабре про IntervalMap — кастомный тип данных, похожий на dict, но ключом у него служит не единичное значение, а интервал. например:

>>> interval[1:3] = 1
>>> interval[2.5]
1

Вспомнил я свои мыкания с расписаниями на одном проекте и решил сделать на базе этой штуки field для Django.

То, что получилось, выложил под названием django-interval-field на Google Code. Там пока что отвратительно сделан парсинг данных, и не очень ясно, как эту штуку лучше протащить в админку и прочие формы, но зато всякие такие вещи позволяют поковыряться в кишках фреймоврка, причем еще и с пользой для общества. Надеюсь. :)

This is crossposted entry. ilvar.ru

ilvar: (Default)

Прочел у Ивана Сагалаева про более-менее приличный патч на upload файлов в Django. Накатил на Файлообменник, проверил - файлы до 100Мб точно нормально грузятся (и это на shared-хостинге, широко известным своим неслабым overselling’ом), 350Мб один раз попробовал - не пролез.

Думаю этот патчик к Музыкальному Сервису прикрутить, там аплоад больших файлов - весьма частое событие.

This is crossposted entry. ilvar.ru

ilvar: (Default)

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

Read more... )
ilvar: (Default)

Выложил финальную версию Кросспостера. Теперь сей прекрасный товарищ сам копирует посты в ЖЖ при сохранении, правит при необходимости, а также удаляет копии при удалении оригинала. Сделан отдельным модулем для Byteflow, в общих сеттингах требуется только указание:

ENABLE_LJ_CROSSPOST = True
LJ_USERNAME = ''
LJ_PASSWORD = ''

А в качестве бонуса - порт темы Zenlike для Byteflow. Сделан не везде гладко (все же я его под свой блог делал), но в целом - вполне рабочий.

Zenlike

Где найти Zenlike:

Следующим по списку у нас значится аплоадер файлов. UPDATE: А вот, собственно, и он. Представляю вам: Simple Uploader, версия альфа :)

Вешается в редактор поста в edit_inline, принцип работы с ним такой:

  1. Пишем пост.
  2. Прикрепляем к нему файлы, прописываем файлам Name ака Имя (это текст для ссылки либо альт для картинки).
  3. Ставим в поля “Image code” и “File code” пробел. Или любой другой символ. Или несколько. В общем, главное, чтоб они пустыми не были :)
  4. Жмем “Сохранить и продолжить редактирование”.
  5. Страница перезагружается и - вуаля! - внизу подгружен наш файл, а в окошках “Image code” и “File code” сформирован код Markdown для вставки картинки или ссылки на файл.
  6. Копи-пастим нужную ссылку в тело поста. Все :)

Django rule! :)

This is crossposted entry. ilvar.ru

ilvar: (Default)

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

За что люблю Питон вообще, и Джангу в частности - так это за гибкость. Хочешь - пиши за неделю прототип сервиса и неси показывай, кому надо. А если денег дадут - то можно, не меняя платформы, запросто зафигачить уже “боевой” сервис. А Питон так вообще: от вспомогательных скриптов по обработке текста до игр с приличной графикой.

This is crossposted entry. ilvar.ru

ilvar: (Default)

Приделал к Byteflow автоматический кросспост в жж - пока что безо всяких фильтров, просто при сохранении поста. Разве что черновики не кросспостит.

Проникся (надо же когда-то начинать?) простотой XML-RPC. Может быть, он просто настолько удобно именно в Питоне сделан - но вроде бы в похапэ примерно так же. Read more... )

May 2016

S M T W T F S
1234567
891011121314
15 161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 22nd, 2017 08:14 am
Powered by Dreamwidth Studios