Django - быстрый старт (устарело)
Материал из 1GbWiki.
Версия 12:34, 30 мая 2010 (править) NovaCxarmulo (Обсуждение | вклад) (→Перезагрузка) ← К предыдущему изменению |
Версия 17:20, 31 мая 2010 (править) (отменить) NovaCxarmulo (Обсуждение | вклад) (→Настройка приложения, запуск) К следующему изменению → |
||
Строка 50: | Строка 50: | ||
cd demo | cd demo | ||
в файле <code>settings.py</code> редактируем строки в соответствие с параметрами вашей базы: | в файле <code>settings.py</code> редактируем строки в соответствие с параметрами вашей базы: | ||
- | |||
DATABASES = { | DATABASES = { | ||
'default': { | 'default': { | ||
'ENGINE': 'mysql', # Тип базы данных | 'ENGINE': 'mysql', # Тип базы данных | ||
- | 'NAME': '', # Название базы данных | + | 'NAME': <nowiki>''</nowiki>, # Название базы данных |
- | 'USER': '', # Имя пользователя | + | 'USER': <nowiki>''</nowiki>, # Имя пользователя |
- | 'PASSWORD': '', # Пароль | + | 'PASSWORD': <nowiki>''</nowiki>, # Пароль |
- | 'HOST': '', # Сервер базы данных (например mysql51.1gb.ru) | + | 'HOST': <nowiki>''</nowiki>, # Сервер базы данных (например mysql51.1gb.ru) |
- | 'PORT': '', # Порт для подключения к базе (оставить пустым) | + | 'PORT': <nowiki>''</nowiki>, # Порт для подключения к базе (оставить пустым) |
} | } | ||
} | } | ||
Строка 67: | Строка 66: | ||
импорт данных в базу: | импорт данных в базу: | ||
python manage.py syncdb | python manage.py syncdb | ||
- | |||
В процессе создания структуры базы будет предложено ввести параметры администратора, нужно согласиться (набрать yes) и ввести данные пользователя, который будет считаться администратором. | В процессе создания структуры базы будет предложено ввести параметры администратора, нужно согласиться (набрать yes) и ввести данные пользователя, который будет считаться администратором. | ||
Версия 17:20, 31 мая 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
- Устанавливаем модуль MySQL-python для работы с базой MySQL
easy_install MySQL-python
Настройка приложения, запуск
- Создаем проект
cd ~/django; django-admin.py startproject demo
- Переходим в каталог с проектом и делаем базовую настройку:
cd demo
в файле settings.py
редактируем строки в соответствие с параметрами вашей базы:
DATABASES = { 'default': { 'ENGINE': 'mysql', # Тип базы данных 'NAME': '', # Название базы данных 'USER': '', # Имя пользователя 'PASSWORD': '', # Пароль 'HOST': '', # Сервер базы данных (например mysql51.1gb.ru) 'PORT': '', # Порт для подключения к базе (оставить пустым) } }
TIME_ZONE = 'Europe/Moscow' LANGUAGE_CODE = 'ru-RU'
импорт данных в базу:
python manage.py syncdb
В процессе создания структуры базы будет предложено ввести параметры администратора, нужно согласиться (набрать yes) и ввести данные пользователя, который будет считаться администратором.
- Переходим в каталог ~/http и делаем настройку FastCGI wrapper'а и правил редирета mod_rewrite.
Содержимое файла .htaccess:
Options +FollowSymlinks AddHandler fcgid-script .fcgi RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]
Не забудьте поменять demo
на название своего проекта!
Файл 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.6/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")
- Создаем симлинк для CSS, JavaScript:
cd ~/http; ln -s ../python/lib64/python2.6/site-packages/django/contrib/admin/media
Все. Можно попробовать обратиться по HTTP к вашему сайту, вы должны увидеть примерно это: http://django-demo.1gb.ru/
Перезагрузка
Если вы сделали какие-то изменения в проекте, то для того чтобы они вступили в силу необходимо перезапустить FastCGI приложение. Делается это так:
killall python2.6
Если не сработало - посмотрите список процессов командой top и найдите аналогичное