Задать вопрос
AliBlogger
@AliBlogger
Fullstack developer

Как развернуть Django с помощью нативной поддержки Python в ISPmanager?

Не так давно в ISPmanager появилась нативная поддержка Python.

Выполнил все пункты инструкции:

https://www.ispmanager.ru/docs/ispmanager/python

Но что нужно сделать дальше, чтобы развернуть Django?
  • Вопрос задан
  • 367 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Iron_Butterfly
@Iron_Butterfly
Вы настроили окружение Python для сайта по документации ispmanager. После этого, в док директории сайта в файл requirements.txt прописываете строчку django и через меню сайта по трем точкам справа делаете Pip install.
Cпойлер: requirements.txt можно редактировать через меню Файлы конфигурации сайта. Называется Конфигурационный файл Python.
Затем идете в shell в док директорию сайта и запускаете команды

source .venv/bin/activate
django-admin startproject django_project .


Сразу же можно найти файл settings.py и в ALLOWED_HOST прописать домен и ip по типу:

ALLOWED_HOST = ['hostname', 'xxx.xxx.xxx.xxx']

Изменяем настройки обработчика как на скрине

6499066c692cc851263060.png

Нужно поставить в режим Порт и рядом с runserver написать порт, который выпал ниже.

Перезапускаем Python по трехточечному меню сайта справа. Убеждаемся что перезапуск прошел успешно и идем по адресу сайта. Видим джанговский экран "Hello World!" по типу:

649906f8c13e5521666116.png

Дальше развлекаемся с django как хотим.

Для дебага: в каталоге пользователя (например /var/www/www-root/data/.pm2/logs/) хранятся логи сайтов на Python и Node.js. Там есть error и просто out логи, которые из панели посмотреть можно через файловый менеджер.

Проблема может возникнуть на CentOS7 из-за версии sqlite3. Ошибка будет вида
django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher

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

1. Понизить версию django
pip install Django==2.1.*

2. Использовать в проекте pysqlite3-wheels (работает 3.8, 3.9, 3.10, 3.11)
pip install pysqlite3-wheels django
vim ./.venv/lib64/python3.8/site-packages/django/db/backends/sqlite3/base.py
# from sqlite3 import dbapi2 as Database
from pysqlite3 import dbapi2 as Database
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы