среда, 28 мая 2008 г.

Apache + mod_wsgi

myproject - имя моего Джанговского проекта.
django.wsgi - файл с настройками который должен быть размещен в каталоге вашего проекта, в моем случае в myproject.
-----------------------

AddDefaultCharset utf8
ServerAdmin admin@site.com
ServerName site.com
ServerAlias www.site.com

WSGIProcessGroup admin
WSGIDaemonProcess admin user=admin group=www-data threads=2 maximum-requests=1000
WSGIScriptAlias / /home/admin/www/vhosts/site.com/myproject/django.wsgi

Alias "/admin-media/" "/usr/lib/python2.4/site-packages/django/contrib/admin/media/"

SetHandler None


Alias "/media/" "/home/admin/www/vhosts/site.com/myproject/media/"

SetHandler None


LogLevel warn
CustomLog /home/admin/www/vhosts/site.com/logs/site.com.access.log combined
ErrorLog /home/admin/www/vhosts/site.com/logs/site.com.error.log

-----------------------
Содержимое файла: django.wsgi

import sys
import os
import os.path

sys.path.insert(0, os.path.dirname(__file__))
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

--------------------
в settings.py: ROOT_URLCONF = 'urls'
--------------------

После правки settings.py и других Джанговских файлов перезагружайте апач :
в Debian:
/etc/init.d/apache2 reload

четверг, 22 мая 2008 г.

Установка mod_wsgi на Debian

Установку модуля mod_wsgi я буду проводить на ос debian etch.

Качаем последнюю версию mod_wsgi отсюда.
Также обратите внимание на то какая версия Apache у вас установлена, так как для ветки 1.3 есть отдельно mod_wsgi-1.3.

Распаковывем
tar -xzvf mod_wsgi-2.0.tar.gz


Теперь нам нужно установить некоторые пакеты, без которых мы не сможем провести компиляцию mod_wsgi.

aptitude update
aptitude install python-dev
aptitude install apache2-dev
aptitude install gcc


Теперь откомпилируем и установим mod_wsgi
cd mod_wsgi-2.0
./configure
make
make install
make clean


Если все прошло на ура тогда создадим следующий файл:
/etc/apache2/mods-available/mod_wsgi.load

И добавим туда строку:
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so

Теперь активируем модуль mod_wsgi и перезагружаем Apache
a2enmod mod_wsgi
/etc/init.d/apache2 force-reload


Все=)

вторник, 13 мая 2008 г.

Выбор блокнота, IDE для Django

1) Eclipse - отличная среда разработки приложений, что бы подружить его с Django нужно установить pydev плагин. На Дебиане возникли проблeмы с установкой плагина, вина тому старый eclipse 3.1 в репозиториях. Конечно можно было установить еклипс ручками предварительно скачав его с eclipse.org, но мне было лень.

2) VIM - да, VIM это круто) правда чертовски не удобно когда все по дефолту, если вы хотите с удобством и в полном комфорте программировать на VIM тогда гуглите конфиги специально заточенные под него.

3) Kate - посмотрел, не понравилось, удалил. (Nano, mcedit, pico подойдут только для правки кода :) )

4) PyScripter - жаль что только под WINDOWS. PyScripter отличное IDE, мне очень понравилось, я увидел в нем простоту, быстроту, легкость, бесплатность и т.д.
Обязательно посмотрите.

Пока что мой выбор под WIN это PyScripter, для *nix - VIM.

вторник, 6 мая 2008 г.

Проблемы с кодировкой в django

У меня возникли проблемы с кодировкой в django. Работаю с utf-8 кодировкой и вместо нормальных русских символов получаю "?????". В гугле нашелся ответ, решить данную проблему можно легко. Во первых нужно везде выставить utf-8 кодировку, в первую очередь в файле модели в первой строке пропишите : # -*- coding:utf-8 -*-

Дальше не забудьте в конце каждой модели прописать:

def __unicode__(self):
return u'%s %s' % ( self.blah, self.blahblah)


В settings.py - LANGUAGE_CODE = 'ru'