Создание и перенос проекта на Django
Руководство по созданию проекта на Django и размещения на хостинге.
Фреймворк Django поддерживается на тарифах «Профи», «Плюс» , «VIP» виртуального хостинга. Рекомендуется подключение SSH, но развернуть проект можно и без полного SSH-доступа.
Создание проекта Django с SSH
Обязателен полный доступ SSH .
Приложения python лучше разворачивать в каталог private, так как в случае установки в каталог домена злоумышленники могут легко получить доступ к персональной информации, например, узнать пароль к базе данных.
- По ssh заходим на свою площадку нашего хостинга.
- Перемещаемся в каталог /private
- В данном каталоге выполняем следующие команды:
-
- Прописываем переменную кэша:
# export PYTHON_EGG_CACHE="/var/www/ЛОГИН_ПОЛЬЗОВАТЕЛЯ/data/private/.python-eggs"
- Создаем «скелет» проекта:
# /opt/komtet/python27/django/1.2/bin/django-admin.py startproject [ИМЯ_ПРОЕКТА]
- Прописываем переменную кэша:
-
- В каталоге /httpdocs создаем два файла следующего вида:
-
- .htaccess:
Options +ExecCGI AddHandler fcgid-script .fcgi RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ django.fcgi/$1 [QSA,L]
- django.fcgi:
#!/opt/komtet/python27/django/1.2/bin/python import sys, os os.environ['PYTHON_EGG_CACHE'] = "/var/www/ЛОГИН_ПОЛЬЗОВАТЕЛЯ/data/private/.python-eggs" # Add a custom Python path. sys.path.insert(0, "/var/www/ЛОГИН_ПОЛЬЗОВАТЕЛЯ/data/private") sys.path.insert(0, "/var/www/ЛОГИН_ПОЛЬЗОВАТЕЛЯ/data/private/ИМЯ_ПРОЕКТА") # Switch to the directory of your project. (Optional.) os.chdir("/var/www/ЛОГИН_ПОЛЬЗОВАТЕЛЯ/data/private/ИМЯ_ПРОЕКТА") # Set the DJANGO_SETTINGS_MODULE environment variable. os.environ['DJANGO_SETTINGS_MODULE'] = "settings" from django.core.servers.fastcgi import runfastcgi runfastcgi(method="threaded", daemonize="false")
- .htaccess:
-
- Устанавливаем права доступа:
-
- .htaccess — 644;
- django.fcgi — 755.
# chmod 644 .htaccess # chmod 755 django.fcgi
-
- Готово.
Перенос проекта Django без SSH
Необязателен полный доступ ssh, достаточно chrooted ssh (ограниченный доступ).
- Закачиваем готовый проект django на вашу площадку в папку /private
- Закачиваем дамп БД с помощью консоли или phpMyAdmin (возможно так же использование СУБД PostgreSQL).
- Создаем файлы .htaccess и django.fcgi согласно пункту 4 раздела «Создание проекта Django с SSH», указывая путь к вашему проекту.
ВАЖНО: если проект был создан на версии python не 2.7, то строку файла django.fcgi#!/opt/komtet/python27/django/1.2/bin/python
нужно заменить на строку соответствующей требуемой версии интерпретатора, см. Пути к интерпретаторам ; - Редактируем файлы конфигурации фреймворка на правильность путей и подключения к БД.
- Проверяем чтобы каталог media находился в рабочей директории /httpdocs а не в / private
- Готово.
Если у вас возникли сложности по поводу данной темы, обращайтесь в круглосуточную Службу технической поддержки хостинга.
Вам также может помочь
Виртуальный хостинг Perl/PHP/Python/Ruby
Тарифные планы «Виртуальный хостинг» — от размещения статических HTML-страниц, до поддержки PHP, Python, CGI скриптов (Shell, Perl), SSI, Ruby. В рамках тарифных планов предоставляется доступ к серверам баз данных MySQL или PostgreSQL.
Django
Python-фреймворк Django можно назвать самым успешным из разработок последних лет в этом направлении. Django-хостинг для компании ХОСТИНГ.КОМ, изначально акцентирующейся на Python проектах - возможность применить знания своих специалистов и поделиться ими в разделе «Django».
Python
ХОСТИНГ.КОМ - профессиональный Python-хостинг, наши системные администраторы и программисты отлично разбираются в настройке python-приложений. Сотрудники хостинга умеют работать и с python-фреймворками Django, TurboGears, Pylons, Zope. Часто задаваемые вопросы по Python, а также различные советы, публикуются в разделе «Python» хостинга ХОСТИНГ.КОМ. Мы следим за новостями в мире Python - и публикуем подробные описания новых релизов Python. Сайт ХОСТИНГ.КОМ открыт для публикаций и дружественных авторов!
Автоматическая установка Django (APS-пакет)
Описание процесса быстрой установки Django из Панели управления Plesk.