База знаний
Центр поддержки хостинга > Служба поддержки хостинг проектов > База знаний

Как установить Python/Django в Wsgi Python App

Решение

Django (Джанго) - это свободный фреймворк для разработки веб-приложений на языке Python. 

Базовая поддержка Wsgi Python App стала доступна вместе с python-селектором на всех тарифных планах на новых серверах 

Расширенная поддержка доступна на всех тарифных планах. Она позволяет устанавливать python-модули, которые содержат в себе компоненты, написанные на С/C++ и компилирующиеся в процессе установки. 

В данной статье будет описываться один из способов запуска фреймворка Django на сервере с базовой поддержкой python версии 2.7

 

 

2) В появившемся окне выбираем версию интерпретатора python, указываем директорию, где будет размещаться наше приложение и относительный URL, по которому оно будет открываться. После чего нажимаем Setup.

3) Открываем адрес нашего приложения в браузере, чтобы убедиться, что приложение установилось.

 

4) После создания приложения добавляем Django в появившемся разделе "Модули" и запускаем процесс установки, нажимая кнопку Update.

Устанавливается последняя версия Django, но для phyton 2.7 она нам не подходит, поэтому меняем на версию 1.8.7 для других версий phyton вероятно всё нормально будет и менять версию django не требуется. 

Переходим в консоль и выполняем команды

cd virtualenv/myapp/2.7/bin/

./pip install --upgrade django==1.8.7

Ставим права на фаил jango-admin.py

chmod 775 ~/virtualenv/myapp/2.7/bin/django-admin.py

5) Переходим в консоль и активируем виртуальное окружение командой source ~/virtualenv/myapp/2.7/bin/activate:

 

source ~/virtualenv/myapp/2.7/bin/activate

В результате перед строкой приглашения(«promt») появится название виртуального окружения (myapp:2.7):

 

Чтобы выйти из виртуального окружения, введите команду deactivate

6) Переходим в каталог нашего приложения cd ~/myapp и создаем новый Django проект командой  django-admin.py startproject mysite::

 

7) Модифицируем файл passenger_wsgi.py в директории ~/myapp. Он должен выглядеть следующим образом:

import sys, os 
cwd = os.getcwd() 
sys.path.append(cwd) 
sys.path.append(cwd + '/mysite') 

os.environ['DJANGO_SETTINGS_MODULE'] = "mysite.settings" 
from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application()

8) В панели управления хостингом делаем рестарт нашего приложения, чтобы изменения вступили в силу:

9) Открываем в браузере адрес нашего приложения. Должна появиться "дефолтная" страница Django:

10) Модифицируем файл  ~/myapp/mysite/mysite/settings.py и вносим в него следующие строки:

STATIC_ROOT = '/home/ваш-логин/public_html/mysite/static/' 
STATIC_URL = '/mysite/static/' 
MEDIA_ROOT = '/home/ваш-логин/public_html/mysite/media/' 
MEDIA_URL = '/mysite/media/'

Это позволит apache получить доступ к вашим статическим файлам.

И ещё находим меняем строку с разрешенными хостами на будущее, указываем там ваш домен

ALLOWED_HOSTS = ['yourdomain.by', 'www.yourdomain.by']

Далее выполняем

cd ~/myapp/mysite/

source ~/virtualenv/myapp/2.7/bin/activate

После этого выполняем команду python manage.py collectstatic в директории mysite:

выходим deactivate

Эта команда собирает всю статику из каталогов приложений и копирует ее в единый каталог, указанный в settings.py.

Теперь  в панели управления хостингом сделаем рестарт нашего приложения и перейдем в админку Django (/admin), чтобы проверить, правильно ли мы все настроили.

При правильной настройке по адресу http://yourdomain.by/admin/ должна открыться следующая страница админки Django:

 

11) Для работы с базой данных MySQL устанавливаем модуль MySQL-python :

12) В разделе "Базы данных MySQL" создаем новую базу данных :

13) Добавляем нового пользователя 

14) Закрепляем пользователя за базой данных  

15) В файле ~/myapp/mysite/mysite/settings.py редактируем переменную DATABASES и вносим в неё следующую информацию: 

Убираем строки 

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

И добавляем строки

DATABASES = {
    'default': {
       'ENGINE': 'django.db.backends.mysql',
       'NAME': 'yourdoma_db',
       'USER': 'yourdoma_user',
       'PASSWORD': 'password',
       'HOST': 'localhost',
       'PORT': '3306',
   }
}

 

 

16) Проверим соединение с базой данных и выполним миграцию на mysql, выполнив команду  python manage.py migrate:

cd ~/myapp/mysite/

source ~/virtualenv/myapp/2.7/bin/activate
python manage.py migrate
deactivate

17) Добавляем суперпользователя в админку 

cd ~/myapp/mysite/

source ~/virtualenv/myapp/2.7/bin/activate
python manage.py createsuperuser

Указываем
Логин, email и пароль.
После чего можно входить
http://yourdomain.by/admin/ 

Небольшое видео вам в помощь:

по мотивам (via)

Исправлено на собственном опыте и  по опыту компании postinsol.com 

 
Была ли эта статья полезной? да / нет
Относящиеся статьи Как подключить Wsgi Python App приложения на примере Flask
Нет соединения, как проверить открыт ли порт на компьютере? telnet
Как запускать Python скрипты?
Как подключить NodeJS
Как подключить дополнительный домен или псевдоним (параллельный домен)
Перенос Bitrix сайта на наш хостинг
Детали статьи
Идентификатор статьи: 46
Категория: Языки программирования
Дата добавления: 2016-11-26 08:28:28
Просмотры: 408
Рейтинг (Голоса): Рейтинг статьи 5.0/5.0 (1)

 
« Назад

 
Powered by Help Desk Software HESK, in partnership with SysAid Technologies

Подключайтесь в нашу группу VKontakte Подключайтесь в нашу группу Facebook Подключайтесь в наш канал Telegram Все секреты Доменов, Хостинга, Сайтов и IT Бизнеса.