воскресенье, 27 февраля 2011 г.

Unicode rulezz

Вроде всё-таки начал делать более-менее реальный проект на Django, поэтому появляются поводы писать сюда.
Потребовалась работа с файлами (плюс интеграция с tinyMCE), к сожалению, django-filebrowser тянет в зависимостях grappelli, который совсем вроде как не сдался (думаю admin_tools вполне хватит). Нашёлся форк с "отпиленными" grappelli и uploadify, но загвоздк оказалась в том что он хочет "буквы" в именах файлов, а русские буквы, конечно же, буквами не являются на его взгляд. Чтож, 5 минут и готов по-моему вполне рабочий форк.
Open source и github в частности, по-моему, довольно сильно меняют процесс разработки, причём в лучшую сторону. Обмен кодом/идеями - очень хорошая вещь.

среда, 25 августа 2010 г.

Об истории джанго

Для тех, кто не в курсе - откуда появился Django.

пятница, 18 июня 2010 г.

Патчим PIL под Windows

Сам я вот уже полтора года сижу на Linux, поэтому проблемы с виндовыми библиотеками как-то меня не особо касались.
Но, не так давно, взялся руководить одним студенческим проектом на Django, предложил на выбор: или ставить линукс (хотяб в виртуалку) или иметь сношения с зависимостями виндовых библиотек. С линуксом не так чтоб здорово, поэтому все выбрали 2-й вариант.
И вроде бы особых проблем не было, если не считать чуть более хитрую настройку всего зоопарка.
Но вот на днях "отвалилась" у них капча со словами: "The _imagingft C module is not installed", сами они разобраться не смогли, пришлось мне делать вскрытие.
Оказалось, что товарищи сборщики прописали левую зависимость в библиотеку. Пересобирать как-то совсем было лениво, поэтому просто взял Resource Hacker и вырезал следующий кусок
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b">
    </dependentAssembly>
  </dependency>
к чёртовой матери из _imagingft.pyd.

P.S. Обнаружил http://draft.blogger.com/, который более внятно работает с HTML (странно, что по дефолту стоит совсем кривой редактор)

пятница, 4 июня 2010 г.

Django In Depth от Джеймса Беннета

По-моему, отличнейшая презентация (и почему я на неё только вчера наткнулся?) :

суббота, 17 апреля 2010 г.

По следам...

Вспомнил, что начинал читать Pro Django, и решил продолжить это дело. И почти сразу нашёл пояснение к предыдущей проблеме с переменными в блоках DTL: контекст, передаваемый в шаблоны организован в виде стэка.
Оказалось, что и в официальных джанговских доках это тоже описано.
P.S. В комментах и в своём блоге alerion дал решение в прошлый раз (но до его блога я не добрался, а приведённый вариант был не до конца понятен).

вторник, 13 апреля 2010 г.

Продолжая тему нескольких портов

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

О портах в nginx

Потребовалось развернуть 2 разных инстанса сервера на джанго на одном и том же хосте, но на разных портах.
Django крутится в mod_wsgi за nginx.
На первый взгляд всё выглядело нормально, но сюрприз образовался, когда попытался я зайти в админку: после логина следовал редирект на сайт с дефолтным 80-м портом (хотя в админку я залезал по другому порту).
Вскрытие (спустя более часа разбирательств) показало, что во всём виноват проксирующий nginx, в котором была прописана директива "proxy_set_header Host $host:$server_port;". Всё легко разрешилось добавлением порта - "proxy_set_header Host $server_port;".