django.vim

Posted by dobrych Tue, 30 Jan 2007 17:24:00 GMT

Обновился vim-овский файл синтаксиса для django. смотреть на vim.org

Добавили:
  • новую систему комментариев {# greeting #}
  • улучшили подсветку ошибок, например {{ variable %} будет подсвечено как ошибка

django: работа с несколькими версиями

Posted by dobrych Thu, 25 Jan 2007 15:32:00 GMT

В связи с появлением в trunk-ветке django такой прикольной библиотеки, как newforms, пришлось на нескольких проектах переползать на trunk. При этом все остальные должны стандартно работать на версии 0.95

В системе стоит как раз 0.95 (в site-packages). Проекты работают все на связке mod_python + apache. При настройке mod_python для django-проекта используется директива PythonPath. С её помощью к путям поиска python-модулей добавляется директория с проектом. Поэтому достаточно положить дистрибутив django в ту же директорию где лежит проект.

А вот для отладки приложения приходится немного пошаманить. Я так и не разобрался в чем причина, но когда запускаешь python shell (python manage.py shell) в любом случае в списке директорий с модулями site-packages оказываются первее чем то, что добавляешь в PythonPath переменную окружения. В итоге получается что используется версия django, котрая стоит в site-packages (т.е. 0.95).

Решается всё довольно просто, но дошел я до этого не сразу, т.к. боролся чтоб всё было кошерно :-) (через python manage.py shell). Сначала грешил на ipython, но без него была та же петрушка. Наковырявшись вдоволь я сделал потом всё по быстрому и просто.

Надо установить две системные переменные в shell-окружении:
  1. PYTHONPATH=’path_to_Django_project
  2. DJANGO_SETTINGS_MODULE=my_project.settings

После этого в любой директории набераете python или ipython и делаете импорты из моделей и работаете с ними.

openid enabled

Posted by dobrych Wed, 10 Jan 2007 15:04:00 GMT

У меня сабж :-)

Нашел наконец-то время разобраться с openid, как и предполагал ничего особо сложного нет.

Все делал по этим статьям: OpenID for non-SuperUsers OpenID delegation under Django and lighttpd

Теперь бы еще запустить свой openid сервер :-)

Для моего Typo блога всё свелось к нескольким манипуляциям.

  1. регистрация на myopenid
  2. создание yadis.xrdf файла
  3. конфигурация apache
  4. добавлении строчки кода в хидер темплейта блога
Вот мой yadis.xrdf

<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)" 
  xmlns:openid="http://openid.net/xmlns/1.0">
  <XRD>
    <Service priorioty="1">
      <Type>http://openid.net/signon/1.0</Type>
      <URI>http://www.myopenid.com/server</URI>
      <openid:Delegate>http://dobrych.myopenid.com/</openid:Delegate>
    </Service>
  </XRD>
</xrds:XRDS>
Вот строки для конфигурации апача:

  # OpenID
  AddType application/xrds+xml .xrdf
  RewriteCond %{HTTP_ACCEPT} application/xrds\+xml
  RewriteCond %{HTTP_ACCEPT} !application/xrds\+xml\s*;\s*q\s*=\s*0(\.0{1,3})?\s*(,|$)
  RewriteRule ^$ http://livedev.org/yadis.xrdf [R,L]

  Header onsuccess set X-XRDS-Location http://livedev.org/yadis.xrdf
Вот строка, добавленная в шаблон

<meta http-equiv="X-XRDS-Location" content="http://livedev.org/yadis.xrdf">