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

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

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

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

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

Но что нужно сделать дальше, чтобы развернуть Django?
  • Вопрос задан
  • 381 просмотр
Подписаться 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
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Strikt Москва
от 100 000 до 180 000 ₽
ITK academy Саратов
от 75 000 ₽
Sim-Ba Pay Санкт-Петербург
от 180 000 ₽