Установка Django

Django - свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования Model-View-Controller. Один из основных принципов фреймворка — DRY (Don't Repeat Yourself). В данной статье мы расскажем, как с лёгкостью установить данный фреймворк у нас на хостинге.

Алгоритм по установке Django

  • Шаг 1После создания технического домена (для примера мы создали django-test.com), переходим в раздел SSH через панель управления хостингом и нажимаем Открыть SSH клиент (доступен только для оплаченных аккаунтов). Для начала создадим несколько алиасов:

    echo "alias python='/opt/python3/bin/python3.6'" >> ~/.bashrc
    echo "alias pip='/opt/python3/bin/pip3.6'" >> ~/.bashrc
    echo "alias virtualenv='/opt/python3/bin/virtualenv'" >> ~/.bashrc
    source ~/.bashrc

    Опциональный шаг: Вы можете дополнительно добавить следующий путь в переменную окружения PATH:

    echo "export PATH=$HOME/.local/bin:$PATH" >> ~/.bashrc 

    Теперь необходимо создать виртуальное окружение, чтобы иметь возможность создавать проекты и использовать свои модули:

    cd django-test.com/htdocs/www
    virtualenv virtualenv
    source virtualenv/bin/activate
  • Шаг 2Для дальнейшей установки Вам потребуется пакетный менеджер pip. Менеджер pip позволяет загружать пакеты и управлять ими. Мы уже установили его глобально для всех наших клиентов, поэтому Вам останется только воспользоваться его возможностями:

    pip install --user --upgrade pip
    pip install --user --upgrade django
    ~/.local/bin/django-admin startproject newdjangoproject

    newdjangoproject - просто наименование директории. Вы можете выбрать своё название. На этом установка и создание нового проекта по сути завершены. Остаётся только произвести некоторые настройки для корректной работы фреймворка.

    Далее необходимо добавить в конфиг доменное имя (путь - ./newdjangoproject/newdjangoproject/settings.py) в ALLOWED_HOSTS (перед доменом ставится точка, чтобы разрешение распространялось на поддомены тоже):

    ALLOWED_HOSTS = ['.домен.ru']
  • Шаг 3Переходим в раздел Файловый менеджер и в папке ~/django-test.com/htdocs/www создаём новый файл django.wsgi. Прописываем туда следующие настройки:

    import os
    import sys
    virtual_env = os.path.expanduser('/home/hostXXXXXXX/django-test.com/htdocs/www/virtualenv/')
    activate_this = os.path.join(virtual_env,'bin/activate_this.py')
    #execfile(activate_this, dict(__file__=activate_this))
    with open(activate_this) as f:
        exec(f.read(), {'__file__': activate_this})
    sys.path.append('/home/hostXXXXXXX/django-test.com/htdocs/www/')
    sys.path.append('/home/hostXXXXXXX/django-test.com/htdocs/www/newdjangoproject/')
    #print >> sys.stderr, sys.path
    os.environ['DJANGO_SETTINGS_MODULE'] = 'newdjangoproject.settings'
    import django.core.handlers.wsgi
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()

    hostXXXXXXXX - номер Вашего аккаунта, вместо django-test.com конечно же будет название Вашего собственного сайта, а newdjangoproject - имя папки, созданной Вами на предыдущем шаге. Если Вы придумали своё название - замените на него.

  • Шаг 4После сохранения django.wsgi создаём ещё один файл .htaccess в той же директории и прописываем следующие директивы:

    AddHandler wsgi-script .wsgi
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /django.wsgi/$1 [QSA,PT,L]

На этом установка завершена. Если всё сделано верно, то при открытии главной страницы сайта, Вы увидите стартовую страницу:

Стартовая страница Zend

Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из панели управления хостингом, раздел «Помощь и поддержка».