Django и Python

2316 2

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

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

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

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

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

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

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

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

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

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

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

 

1416 2

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

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

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

# sudo apt-get install gvfs-fuse

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

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

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

 

1778 2

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

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

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

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

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

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

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

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

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

Далее код с краткими пояснениями
1411 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 проходили нормально.

 

2145 0

Почему и как Yandex использует Python и Django

   Не секрет, что в Яндексе активно используется Python и Django, но вот почему и как? Об этом рассказывает в своем докладе разработчик справочных сервисов Яндекса - Руслан Гроховецкий.

смотреть в отдельном окне
2611 2

Настраиваем оповещение о новых комментариях

    В продолжение заметки о стандартном приложении comments из коробки Django.

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

    Можно конечно воспользоваться возможностью создания своего приложения на основе стандартного, но зачастую затраты не оправдывают себя. А минимально "допилить" для получения максимума информации можно и стандартное comments.

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

Генерируем sitemap.xml из Atom или RSS фида

    Недавно в процессе оформления и настройки блога Prosvetika.ru, столкнулся с бесплатным хостингом блогов под крылом Google - Blogger.com

    Довольно занимателный "конструктор" для блоггеров, но как всегда со своими тараканами и особенностями.

    Одной из них является отсутствие sitemap в формате xml. Для англоязычных блогов это не страшно, поскольку гугл с удовольствием съедает в качестве sitemap фид блога. Но для нас - рускоязычных, гугла мало, нам Яндекс подавай. А этот поисковик привередливый и фид кушать не желает.  Свои фиды он предлагает размещать в поиске по блогам.

    Погуглив на эту тему в интернете, я понял, что большинство продвинутых блоговодов выкладывают заранее сгенерированные sitemap.xml на сторонние хостигни и скармливают их через robots.txt нашему Яше. Это сколько полуручной работы!? о_0 
Мне как и любому нормальному человеку такой подход не по душе.

    Поэтому сел и сделал свой генератор sitemap.xml из Atom фида.

Читать как делал
2269 2

Ошибка 194: The syndication feed() view is deprecated.

    Открыв недавно лог ошибок Апача обнаружил его заполненным на 90% одной ошибкой:

194: DeprecationWarning: The syndication feed() view is deprecated. Please use the new class based view API.

    Если точнее, то это предупреждение. И о чем же оно мне сообщает?

Читать далее

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

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