Django - быстрый старт (устарело)

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 12:04, 30 мая 2010 (править)
NovaCxarmulo (Обсуждение | вклад)
(Подготовка окружения)
← К предыдущему изменению
Версия 12:05, 30 мая 2010 (править) (отменить)
NovaCxarmulo (Обсуждение | вклад)
(Установка библиотек)
К следующему изменению →
Строка 33: Строка 33:
* Скачиваем и устанавливаем Django: * Скачиваем и устанавливаем Django:
cd ~/src cd ~/src
- wget http://www.djangoproject.com/download/1.0.2/tarball/+ wget http://www.djangoproject.com/download/1.2.1/tarball/
- tar xvfz Django-1.0.2-final.tar.gz+ tar xzvf Django-1.2.1.tar.gz
- cd Django-1.0.2-final+ cd Django-1.2.1
python setup.py install python setup.py install
* Устанавливаем модуль flup, для работы Django в FastCGI режиме: * Устанавливаем модуль flup, для работы Django в FastCGI режиме:

Версия 12:05, 30 мая 2010

Содержание

Общие сведения

Эта статья поможет понять, как можно быстро и просто установить фреймворк Django в режиме FastCGI на хостинге 1Gb.ru, а также как устанавливать собственные модули Python

Установка

Подготовка окружения

Внимание! Убедитесь, что ваш сайт работает под управлением web-сервера UNIX/Apache/FastCGI, это можно сделать, а также при необходимости сменить тип сервера, в разделе личного кабинета /Управление сайтами и серверами/.

Везде, где написано python2.6 нужно подставлять версию python, работающую на вашем сервере (первые два числа)

python --version
  • Создаем в корне домашнего каталога файл .pydistutils.cfg для настройки путей инсталляции модулей:
[install]
prefix = $HOME/python

[easy_install]
install_dir = $HOME/python/lib64/python2.6/site-packages
  • Для настройки переменных PATH, PYTHONPATH добавьте строки:
export PATH=$PATH:$HOME/python/bin:$HOME/python/lib64/python2.6/site-packages
export PYTHONPATH=$PYTHONPATH:$HOME/python/lib64/python2.6/site-packages

в ваш ~/.bashrc

  • Выполняем команду:
source ~/.bashrc

для того, чтобы сделанные изменения вступили в силу.

  • Создаем различные каталоги:
mkdir -p ~/src ~/python/lib64/python2.6/site-packages ~/django
  • Симлинк:
cd ~/python; ln -s lib64 lib; cd

Установка библиотек

  • Скачиваем и устанавливаем Django:
cd ~/src
wget http://www.djangoproject.com/download/1.2.1/tarball/
tar xzvf Django-1.2.1.tar.gz
cd Django-1.2.1
python setup.py install
  • Устанавливаем модуль flup, для работы Django в FastCGI режиме:
easy_install flup

Настройка приложения, запуск

  • Создаем проект
cd ~/django; django-admin.py startproject demo
  • Переходим в каталог с проектом и делаем базовую настройку:
cd demo

в файле settings.py редактируем строки:

DATABASE_ENGINE = 'mysql'
DATABASE_NAME =          # имя базы
DATABASE_USER =          # пользователь
DATABASE_PASSWORD =      # пароль
DATABASE_HOST =          # адрес сервера БД

TIME_ZONE = 'Europe/Moscow'
LANGUAGE_CODE = 'ru-RU'

импорт данных в базу:

python manage.py syncdb
  • Переходим в каталог ~/http и делаем настройку FastCGI wrapper'а и правил редирета mod_rewrite.

Содержимое файла .htaccess:

Options +FollowSymlinks

AddHandler fcgid-script .fcgi

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]

Файл index.fcgi:

#!/usr/bin/python -OO

import sys, os, site

# Add a custom Python path.
PYTHON_CUSTOM_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \
                     '../python/lib64/python2.5/site-packages'))
sys.path.insert (0, PYTHON_CUSTOM_PATH)
site.addsitedir (PYTHON_CUSTOM_PATH)

# Add a custom Python path.
PYTHON_CUSTOM_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \
                     '../django'))
sys.path.insert (0, PYTHON_CUSTOM_PATH)

# Add a custom Python path.
os.chdir(os.path.join (PYTHON_CUSTOM_PATH, 'demo'))

os.environ['DJANGO_PROJECT'] = 'demo'
os.environ['DJANGO_SETTINGS_MODULE'] = 'demo.settings'

from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="prefork", maxchildren=3, daemonize="false")

Не забудьте поменять demo на название своего проекта!

  • Создаем симлинк для CSS, JavaScript:

cd ~/http; ln -s ../python/lib64/python2.5/site-packages/django/contrib/admin/media

Все. Можно попробовать обратиться по HTTP к вашему сайту, вы должны увидеть примерно это: http://django-demo.1gb.ru/

Перезагрузка

Если вы сделали какие-то изменения в проекте, то для того чтобы они вступили в силу необходимо перезапустить FastCGI приложение. Делается это так:

killall index.fcgi

См. также

Ссылки

Личные инструменты