Создание и перенос проекта на Django

Руководство по созданию проекта на Django и размещения на хостинге.

Фреймворк Django поддерживается на тарифах «Профи», «Плюс» , «VIP» виртуального хостинга. Рекомендуется подключение SSH, но развернуть проект можно и без полного SSH-доступа.

Создание проекта Django с SSH

Обязателен полный доступ SSH .

Приложения python лучше разворачивать в каталог private, так как в случае установки в каталог домена злоумышленники могут легко получить доступ к персональной информации, например, узнать пароль к базе данных.

  1. По ssh заходим на свою площадку нашего хостинга.
  2. Перемещаемся в каталог /private
  3. В данном каталоге выполняем следующие команды:
      • Прописываем переменную кэша:
        # export PYTHON_EGG_CACHE="/var/www/ЛОГИН_ПОЛЬЗОВАТЕЛЯ/data/private/.python-eggs"
      • Создаем «скелет» проекта:
        # /opt/komtet/python27/django/1.2/bin/django-admin.py startproject [ИМЯ_ПРОЕКТА]
  4. В каталоге /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")
  5. Устанавливаем права доступа:
      • .htaccess — 644;
      • django.fcgi — 755.
        # chmod 644 .htaccess
        # chmod 755 django.fcgi
  6. Готово.

Перенос проекта Django без SSH

Необязателен полный доступ ssh, достаточно chrooted ssh (ограниченный доступ).
  1. Закачиваем готовый проект django на вашу площадку в папку /private
  2. Закачиваем дамп БД с помощью консоли или phpMyAdmin (возможно так же использование СУБД PostgreSQL).
  3. Создаем файлы .htaccess и django.fcgi согласно пункту 4 раздела «Создание проекта Django с SSH», указывая путь к вашему проекту.
    ВАЖНО: если проект был создан на версии python не 2.7, то строку файла django.fcgi
    #!/opt/komtet/python27/django/1.2/bin/python
    нужно заменить на строку соответствующей требуемой версии интерпретатора, см. Пути к интерпретаторам ;
  4. Редактируем файлы конфигурации фреймворка на правильность путей и подключения к БД.
  5. Проверяем чтобы каталог media находился в рабочей директории /httpdocs а не в / private
  6. Готово.

Если у вас возникли сложности по поводу данной темы, обращайтесь в круглосуточную Службу технической поддержки хостинга.

Вам также может помочь