Как развернуть сайт на Django?

По-умолчанию хостинг-аккаунты создаются на сервере с поддержкой PHP, для настройки Django необходим перенос аккаунта на другой сервер. Это действие производится нашими специалистами по запросу в тикет. После переноса хостинг-пакета на Django-сервер вы можете приступать к настройке проекта.

У Вас уже есть готовый проект? В этом случае необходимо выполнить:

  1. Создать папку domains/DOMAIN/django/VNAME
  2. Создать файл domains/DOMAIN/django/VNAME.wsgi, с содержанием:
import os,sys

apache_configuration = os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)

sys.path.insert(0,'/home/USERNAME/virtualenv/VNAME/lib/python2.7/site-packages')
sys.path.insert(1,'/home/USERNAME/domains/DOMAIN/django')
sys.path.insert(2,'/home/USERNAME/domains/DOMAIN/django/VNAME/VNAME/')
sys.path.insert(3,'/home/USERNAME/domains/DOMAIN/django/VNAME/')

os.environ['DJANGO_SETTINGS_MODULE'] = 'VNAME.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Для Django >= 1.7 необходимо заменить строки:

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

на

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
  1. Загрузить проект в папку domains/DOMAIN/django/VNAME

  2. Обратиться в поддержку с просьбой подключить Django, указать необходимую версию Python и Django, а также предоставить VNAME, DOMAIN, USERNAME.

При необходимости установить дополнительные модули к Python/Django - создать файл /home/USERNAME/domains/DOMAIN/django/VNAME.requirements.txt в формате PIP:

название==версия
название

При отсутствии версии модуля либо Django, будет установлена последняя доступная версия на момент установки. Устанавливается версия 2.7 Python.

Если Вам необходимо создать новый (пустой) проект - выполните только пункт 4, указанный в инструкции выше.

Статические файлы

После развертывания Django проекта укажите в файле ~/domains/DOMAIN/django/VNAME/settings.py параметры:

MEDIA_ROOT = '/home/USERNAME/domains/DOMAIN/public_html/media/'
STATIC_ROOT = '/home/USERNAME/domains/DOMAIN/public_html/static/'
MEDIA_URL = '/media/'
STATIC_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/media/'

Описание переменных:

VNAME=Имя проекта, должно быть уникальное
DOMAIN=Ваш домен, к которому подключается джанго
USERNAME=Логин пользователя. Используется для входа в панель управления DirectAdmin

Перезагрузка проекта

Для перезагрузки проекта необходимо в Ваш файл ~/domains/DOMAIN/django/VNAME.wsgi добавить строки:


# version 0.0.1
import rxmonitor

rxmonitor.start(interval=1.0)
rxmonitor.track(os.path.join(os.path.dirname(__file__), 'VNAME.wsgi'))

После этого измените файл domains/DOMAIN/django/VNAME.wsgi (например строку version 0.0.1 поменяйте на version 0.0.2) и перезагрузите страницу сайта. Django будет перезагружен автоматически.

Не забывайте указать верные значения DOMAIN и VNAME