Django и Python

3698 2

Бесплатный VDS - это реально!

    Уже более года, пользуюсь услугами хостера FirstVDS.

    На мой, не предвзятый, взгляд уровень предоставляемых услуг достаточен для средних и малых проектов не привередливых к постоянству аптайма. Бывают иногда отключения. Но по итогам прошедшего года общий аптайм составляет 99.8% (данные на основе метрики от Яндекса)

    Учитывая цели с которыми я использую FirstVDS (этот сайт и разработка малых и средних проектов) меня качество предоставляемых услуг вполне устраивает.

    А после улучшения тарифов (30Гб + 512Mб и др. на минимальном тарифе 149р.) про другие хостинги даже не вспоминаю. Достаточно настроить как мне нравится и получать удовольствие от хостинга :).

    Но самым приятным для меня оказалась партнерская программа этого хостера. С её помощью я смог сделать свой хостинг бесплатным и даже вышел в некоторый плюс.

О том, что я для этого делал и как можно на партнерке от FirstVDS заработать, далее
1840 0

Django мелочи 1

Есть мелочи которые опытные разработчики считают нормой, а для новичка это магия.

Этим постом открываю серию джано-мелочей.

Сегодня 4 мелочи:

  • Выборка случайной записи из модели
  • Кириллические урлы
  • Файл robots.txt
  • Загрузка файлов с русскими именами 

 

Читать подробнее
1384 0

Обзор рынка веб разработки от SeoPult.tv

    Интересный и местами забавный обзор рынка веб разработки.

 

2393 2

Backup небольших проектов по почте

     С недавних пор мой хостер FirstVDS делегировал ответственность за резервное копирование на своих пользователей. То есть, бекапы-то он делает, но хранить их при сбоях не обещает, а рекомендует делать это самостоятельно.

Баннер справа дает 25% скидку на услуги FirstVDS. (Промокод: 648139720)

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

    Но для мелких и средних проектов, в которых объем информации в базе не превышает 5мб, такой путь на мой взгляд не целесообразен. Если конечно таких проектов не десятки/сотни. В нашем же случае можно использовать доброту Яндекса и Гугла. :) Объемы ящиков у них сейчас хорошие и хранить небольшие резервные копии вполне себе удобно.

    Поэтому садимся и делаем отсылку резевных копий к нам на почту.

Читать далее
2505 2

TinyMCE, вставка картинок и переход на Markdown

    На днях один из читателей моего блога, Сергей, задал мне вопрос по поводу вставления картинок через редактор TinyMCE.

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

    Первая моя мысль была: "Сделать плагин управляющий галереей и позволить ему закачивать файлы, а также вставлять их урлы в контент". Поскольку такой плагин уже существует в природе (Image Manager 1.1) и подобный подход имеет слабое отношение к Django, я решил развить тему несколько в другом направлении.

Читать далее
2198 0

Почему язык Python, а большинство примеров spam

    Язык Python назван в честь английской комик-группы Монти Пайтона (Monty Python).

    В большинстве книжек по языку Python, в примерах очень часто используется слово spam.

    До тех пор пока не прочитал книгу Марка Лутца "Изучаем Python", не мог понять почему так часто используется именно spam.

    Оказывается у комик-группы Монти-Пайтона есть пародия, где герои сериала пытаются заказать блюдо в кафетерии, а их заглушает хор викингов, поющих песню о консервах с ветчиной (spam).

    Лутц в книжке не мог вставить эту пародию в свою книгу, поэтому восполняем этот пробел )))

 

1554 2

Geany не открывает файлы по sftp в Debian

    В Debian squeeze столкнулся с тем. что мой "дежурный" редактор не желает открывать удаленные файлы на sftp.

   Решение оказалось простым:

# sudo apt-get install gvfs-fuse

   В Система-->Администрирование-->Пользователи и группы-->Управление группами
добавить своего пользователя в группу fuse

   И после этого перезагрузка.

   (Умные люди считают, что виноват не Debian a Gnome.
    Он якобы должен монтировать удаленные каталоги в папку /home/user/.gvfs
    и если он этого не делает то надо ставить gvfs-fuse) 

 

1927 2

Антиспам с вопросом для комментариев в Django

   Давно хотел победить спам, приходящий в комментарии на моём сайте. Беглый гуглопоиск выдал только варианты с Акисметом от Романа Ворушина, а также намеки на другие варианты с модерацией.

   Но так как Акисмет меня не впечатлил (не люблю прикручивать то что не контролирую полностью), пришлось смотреть в сторону написания своего приложения с комментариями. Ранее не хотел этого делать, поскольку считал изобретение велосипеда делом неправильным, но рост спама вынудил и я приступил к изучению Django documentation.

   Вот тут то меня и посетило прозрение. Оказывается я заблуждался в том, что для кастомизации комментариев придется полностью писать своё приложение. Это не так.

Читать далее
8296 18

Django галерея - проще некуда

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

    Открыв свою настольную книжку Django - Разработка веб-приложений на Python, внимательно изучив и "протопав" все шаги своими руками 0_о, понимаю, что книга безбожно отстает. Предложенное решение мне откровенно не нравится.

    В связи с этим начинаю обрабатывать полумёртвый код "напильником".

Далее код с краткими пояснениями
1546 2

Ошибка создания superuser в Django 1.4

При создании очередного проекта на Django 1.4, во время выполнения syncdb вылезла ошибка вида:

TypeError: decode() argument 1 must be string, not None

Погуглив на эту тему нашел совет выполнить перед запуском syncdb следующую команду:

export LANG="ru_RU.UTF-8"

Метод в моём случае помог (VDS Debian squeeze).

Причина как я понял скрывается в неспособности Python определить язык системы по умолчанию. Очень странно, поскольку ошибка появилась не сразу, первоначальные запуски syncdb проходили нормально.

 

Контактные данные

 Россия, г. Москва
INFODATA