Для установки и создания проекта на фреймворке Django потребуется выполнить действия, описанные ниже. Установка Django осуществляется посредством протокола SSH:
Перед установкой необходимо выполнить несколько подготовительных шагов:
- Создаем файл профиля и прописываем туда путь до локальной директории каталога, в которой будут находится файлы ".virtualenv" и необходимые библиотеки "django:"
- Добавляем в созданный файл строку:
- После этого нужно разлогиниться и снова подключиться к серверу.
- Теперь скачиваем утилиту get-pip:
- Устанавливаем утилиту get-pip:
- Устанавливаем virtualenv:
Переходим к этапу установки фреймворка
- Для установки необходимо воспользоваться утилитой virtualenv. Создать и активировать виртуальное окружение для Вашей версии фреймворка Django можно в каталоге ".djangovenv":
username@vh200 ~ $ source .djangovenv/bin/activate
- Далее необходимо установить требуемую версию фреймворка в виртуальном окружении (в данном случае выбрана версия Django 3.2.6):
- В следующем шаге необходимо перейти в каталог сайта, где будет расположен сам проект. В качестве примера выбран каталог "~/site1" на который направлен домен:
- После этого требуется создать проект Django и деактивировать виртуальное окружение:
При создании возможно заменить имя проекта "SWeb_DjangoSite" на нужное.
- Необходимо убедиться, что каталог с проектом был создан и переместить его содержимое в каталог "public_html".
Проще всего это сделать удалив существующий каталог "public_html" и переименовав каталог с самим проектом:
username@vh200 ~/site1 $ mv SWeb_DjangoSite/ public_html
Далее необходимо перейти в каталог:
- Далее требуется открыть файл "wsgi.py" в подкаталоге с именем проекта с помощью текстового редактора и указать полные пути к установленному фреймворку, проекту и виртуальному окружению.
Полный путь к текущему каталогу можно узнать, выполнив команду "pwd":
/home/u/username/site1/public_html
В данном случае содержимое файла привести к следующему содержимому (текущее его содержимое можно удалить):
import os,sys
#путь к проекту
sys.path.append('/home/u/username/site1/public_html')
#путь к фреймворку
sys.path.append('/home/u/username/site1')
#путь к виртуальному окружению
sys.path.append('/home/u/username/.djangovenv/lib/python3.8/site-packages/')
#исключить системную директорию
sys.path.remove('/usr/lib/python3.8/site-packages')
os.environ["DJANGO_SETTINGS_MODULE"] = "ИМЯ_ПРОЕКТА.settings"
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Текст "ИМЯ_ПРОЕКТА" необходимо изменить на имя созданного проекта, в нашем случае это SWeb_DjangoSite.
- В файле settings.py заменить строку:
На следующую:
- В каталоге сайта создать файл .htaccess с указанием полного пути к файлу "wsgi.py".
В данном случае содержимое файла "~/site1/public_html/.htaccess" следующее:
AddHandler wsgi-script .py
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /ИМЯ_ПРОЕКТА/wsgi.py/$1 [QSA,L]
Текст "ИМЯ_ПРОЕКТА" также необходимо изменить на имя созданного проекта.
- В панели управления хостинга в разделе «Сайты» необходимо убедиться, что для сайта выбрана версия Apache 2.4 + PHP 8 opcache + mod_wsgi python3.8
Для того чтобы изменения вступили в силу, необходимо выполнять перезапуск сервиса django. Для этого нужно перейти в Панель управления аккаунта, в раздел Хостинг->Сайты нажать на нужный сайт, в колонке Конфигурация нажать на ссылку Настройки и далее выбрать текущую версию бэкэнда "Apache 2.4 + PHP 8 opcache + mod_wsgi python3.8 (Актуальная версия)" и нажать на кнопку сохранить. В этом случае сервис django будет перезапущен и изменения будут приняты системой.
При использования бэкэнда Apache 2.2 + mod_passenger + mod_wsgi, стоить обратить внимание, что в этом случае Модуль mod_wsgi использует по умолчанию python 2.7 и новые версии django будут работать с ошибками.