Перейти к основному контенту

Как установить Django на хостинг

Если ваш проект написан на Django 1.9 и ниже, воспользуйтесь инструкцией Как установить Djаngо для Руthоn 2.7

Django — популярный, высокоуровневый web-фреймворк. Предназначен для web-приложений на Python, обладает большим набором готовых компонентов, которые будут полезны не только новичкам, но и профессионалам.

Важно: Django доступен только для панели управления ISPmanager. Ваш домен должен быть привязан к услуге хостинга. Если вы это еще не сделали, воспользуйтесь инструкцией Как привязать домен к хостингу

Как установить Django

  1. 1.
    Войдите в панель управления хостингом. Если внешний вид вашей панели управления отличается от представленного в инструкции, кликните в левом нижнем углу «Старый интерфейс».
  2. 2.

    Перейдите в раздел WWW-домены, выберите домен, для которого вы хотите установить Django, и нажмите Изменить:

    =797x376

  3. 3.

    В разделе «Дополнительные возможности» включите CGI-скрипты, Python, выберите Версию Python и нажмите Ok:

    Django на хостинг 1

  4. 4.
  5. 5.

    Перейдите в каталог вашего пользователя с помощью команды: cd ~

    Убедитесь, что вы в нужном каталоге, выполнив команду: pwd

  6. 6.

    Создайте виртуальное окружение (Virtualenv) с произвольным именем. Виртуальное окружение необходимо создать для версии Python, которой вы планируете пользоваться для вашего проекта. Она должна совпадать с версией в шаге 3.

    Чтобы узнать доступные версии Python, выполните команду:

    ls -la /opt/python/*/bin/python

    Для создания виртуального окружения выполните команду:

    /opt/python/python-3.7.6/bin/python -m venv djangoenv

    Где:

    • python-3.7.6 — ваша версия Python,

    • djangoenv — название вашего виртуального окружения.

  7. 7.

    Активируйте ваше виртуальное окружение с помощью команды:

    source djangoenv/bin/activate

    Где djangoenv — название вашего виртуального окружения.

    Если слева от строки ввода команды появилось название вашего виртуального окружения, значит, оно активировалось:

  8. 8.

    Обновите pip, установите пакеты Django и mysqlclient с помощью команды:

    pip install --upgrade pip && pip install django && CFLAGS="-std=c99" pip install mysqlclient

  9. 9.

    Перейдите в корневой каталог вашего сайта с помощью команды:

    cd www/faq-reg.ru/

    Где faq-reg.ru - название вашего каталога.

    Убедитесь, что вы в нужном каталоге, выполнив команду:

    pwd

  10. 10.

    Важно: перед созданием проекта удалите все файлы и папки из каталога вашего сайта.

    Создайте новый проект в корневом каталоге:

    django-admin startproject project_name

    Где project_name — название вашего проекта.

  11. 11.

    Откройте настройки вашего файла командой:

    vim project_name/project_name/settings.py

    Где project_name — название вашего проекта.

    В секции ALLOWED_HOSTS = [] добавьте имя вашего домена и его псевдонимы. Обратите внимание! Домены должны быть в кавычках:

    В секции DATABASES укажите данные для подключения к MySQL:

    Где:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'имя_базы_данных',
            'USER': 'имя_пользователя_базы_данных',
            'PASSWORD': 'пароль_базы_данных',
            'HOST': 'localhost',
        }
    }

    Если у вас нет базы данных, вы можете создать её по инструкции Как создать базу данных?

    Ниже секции STATIC_URL добавьте новую секцию: STATIC_ROOT='static/'

    После внесения изменений нажмите ESC для выхода в командный режим. Для сохранения изменений и выхода введите :wq и нажмите «Enter».

  12. 12.

    Создайте каталог со статическими файлами командой:

    python project_name/manage.py collectstatic

    Где project_name — название вашего проекта.

    Совет
    Если во время выполнения команды возникла ошибка, проверьте конфигурационный файл settings.py, который вы настроили ранее.
  13. 13.

    Выполните миграцию в MySQL с помощью команды:

    python project_name/manage.py migrate

  14. 14.

    Создайте в корневом каталоге вашего сайта конфигурационный файл с именем passenger_wsgi.py и запишите в нем следующее:

    # -*- coding: utf-8 -*-
    import os, sys
    sys.path.insert(0, '/var/www/u0000006/data/www/faq-reg.ru/project_name')
    sys.path.insert(1, '/var/www/u0000006/data/djangoenv/lib/python3.7/site-packages')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'project_name.settings'
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
  15. 15.

    В строке sys.path.insert(0, '/var/www/u0000006/data/www/faq-reg.ru/project_name') измените путь к вашему проекту. Вместо u0000006 используйте логин вашей услуги хостинга: Как узнать логин хостинга. Путь к вашему проекту вы можете увидеть в панели управления:

  16. 16.

    В строке sys.path.insert(1, '/var/www/u0000006/data/djangoenv/lib/python3.7/site-packages') укажите:

    • Вместо python3.7, версию python, которую вы выбрали на шаге 3 и 6;
    • вместо u0000006, логин вашей услуги хостинга: Как узнать логин хостинга;
    • а также путь до каталога вашего виртуального окружения. Его можно увидеть в панели управления:

  17. 17.
    В строке os.environ['DJANGO_SETTINGS_MODULE'] = 'project_name.settings' измените project_name на название вашего проекта.
  18. 18.
    Сохраните файл passenger_wsgi.py.

Готово, по адресу вашего домена должна отобразиться стартовая страница Django.

Внимание
Если вы выполнили все шаги инструкции, но не получили желаемого результата, это может быть связано с локальными настройками. Напишите заявку в службу поддержки, наши специалисты оперативно вам помогут!

Как перезапустить проект на Django

Если вы изменили файлы проекта и хотите увидеть изменения, вам необходимо перезапустить проект. Для этого создайте файл .restart-app в корневой директории вашего сайта. После перезапуска проекта файл будет удалён автоматически.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 11 из 14