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

Поиск справки:


Как установить 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 не требуется. 

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

-----------------------------

Для работы сSSH вам может понадобится изменить тариф.

Что бы изменить тариф. Войдите в раздел "Хостинг аккаунты"  личного кабинета и нажмите на домен. После чего у вас появится дополнительное меню.  В нём включите SSH. После чего внизу нажмите "Изменить тариф".

Если вы будете работать (устанавливать) через виртуальное окружение, обратитесь в поддержку, что бы вам включили возможность компилирования.

------------------------------

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
Как запускать Python скрипты?
После восстановления полной резервной копии не работает сайт на Python
Как восстановить или создать резервную копию
Как подключить дополнительный домен или псевдоним (параллельный домен)
Как подключить NodeJS
Детали статьи
Идентификатор статьи: 46
Категория: Языки программирования
Дата добавления: 2016-11-26 11:28:28
Просмотры: 1070
Рейтинг (Голоса): Рейтинг статьи 5.0/5.0 (2)

 
« Назад

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

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