Ispmanager 6 lite, pro, host

Установка Django

Django — это высокоуровневый веб-фреймворк на языке Python, предназначенный для быстрой и эффективной разработки веб-приложений. Он включает в себя множество встроенных компонентов, таких как система аутентификации, админ-панель и инструменты для работы с базами данных.

Основные области применения Django:

  • контент-менеджмент системы (CMS)
  • электронная коммерция
  • социальные сети
  • корпоративные приложения
  • микросервисы и API

Поддерживаемые ОС

Использовать Django можно на любой ОС из списка поддерживаемых для установки ispmanager.

Требования Django

Перед установкой убедись, что:

  • на сервере установлены: Nginx, Python и MySQL-сервер. Для успешной установки могут потребоваться дополнительные компоненты ПО
  • текущему пользователю в настройках панели должно быть разрешено использовать Python
  • может потребоваться установка утилит sqlite3 gcc и пакеты разработки для сервера баз данных
Пояснение

Debian 11

apt install sqlite3 gcc libmariadb-dev 

AlmaLinux 8

yum install sqlite gcc mysql-devel 

Прежде чем устанавливать пакеты для базы данных, нужно узнать, какой именно сервер базы данных установлен. После этого можно выбрать нужный пакет в зависимости от названия сервера.

Установка Django

Рассмотрим установку на примере ОС Debian 11 и AlmaLinux 8.

При создании/редактировании сайта укажите:

  • Обработчик выберите Python
  • Режим работы приложения выберите подходящий режим работы для текущего пользователя
  • Версия Python — выберите версию 3.11

    Пояснение
    Почему лучше использовать Python 3.11?

    Совместимость и производительность:

    • включает последние улучшения языка и стандартной библиотеки
    • быстрее предыдущих версий благодаря улучшениям в интерпретаторе

    Долгосрочная поддержка:

    • новые версии Python получают обновления дольше

    На что повлияет выбор версии Python:

    • новые синтаксические конструкции и улучшенные функции доступны только в Python 3.11
    Рекомендации

    Использовать Python 3.11, если:

    • начинается новый проект
    • нужны новые возможности и улучшенная производительность
    • все зависимости совместимы с этой версией

    Оставаться на текущей версии Python, если:

    • есть устаревшие библиотеки, не поддерживающие Python 3.11
    • проект стабилен на более старой версии Python и нет необходимости в обновлении
    Пример

    Если библиотека django-someplugin поддерживает только Python 3.10, лучше подождать обновления до совместимой с Python 3.11 версии

Перейдите во вкладку Расширенные настройки.

Откройте вкладку Обработчик. Заполните поля:

  • Режим работы приложения  web-сервер Python
  • Путь к серверу — для запуска сервера необходимо указать путь к файлу manage.py проекта. Путь к файлу имеет следующий формат, где project_name — имя проекта Django             
  • Аргументы сервера — для запуска сервера используйте команду runserver <номер порта>. Этот параметр будет известен после создания сайта. Если в настройках сайта не было установлено значение для runserver <номер порта>, то при запуске проекта возникнет ошибка.

    Пояснение

    Можно использовать команду в одном из следующих форматов.

    Пример использования

    • runserver <порт>
    • runserver 127.0.0.1:<порт>
       

    Запуск сервера на порту 8000:

    python project_name/manage.py runserver 8000

    Запуск сервера на определённом IP и порту:

    python project_name/manage.py runserver 127.0.0.1:8000
  • Cпособ подключения  порт
  • Версия Python — 3.11 

    Пояснение

    Также возможно выбрать ту же версию, которая была предварительно установлена в настройках.

  • После заполнения полей, нажмите кнопку Создать.

Далее отредактируйте сайт:

  • откройте вкладку Обработчик (Python)
  • введите порт в строке Аргументы сервера

    Пояснение

     В данном примере для поля Аргументы сервера следует указать runserver 20000.    

  • нажмите кнопку Сохранить.

Выполните удаление автоматически созданной директории:

  • перейдите в раздел Сайты
  • выберите сайт
  • нажмите кнопку Файлы сайта
  • выберите директорию project_name
  • нажмите кнопку  Редактировать
  • нажмите кнопку Удалить

Далее выполните следующие действия:

  • перейдите в раздел Сайты
  • выберите сайт
  • нажмите на кнопку Конфиг.файлы на панели инструментов

Введите django и сохраните изменения:

Далее:

  • перейдите в раздел Сайты
  • выберите сайт
  • зайдите в контекстное меню
  • выберите Shell-клиент
  • введите следующие команды:
source .venv/bin/activate
pip install --upgrade pip
pip install wheel
pip install mysqlclient

При проблемах установки mysqlclient установите конкретную версию, например, pip install mysqlclient==2.1.0

django-admin startproject project_name

django-admin startproject project_name — project_name это имя проекта Django.

Далее:

  • перейдите в раздел Сайты
  • выберите сайт
  • нажмите кнопку Файлы сайта

Откроется Менеджер файлов.

  • перед выполнением операции удостоверьтесь, что находитесь в директории, содержащей текущий проект
  • после завершения указанных выше шагов снова появится директория с названием project_name
  • откройте директорию project_name.

Выполните следующие действия:

  • выберите файл settings.ру и отредактируйте его
  • добавьте имя домена и псевдонимы в секции ALLOWED_HOSTS = []
  • домены должны находиться в кавычках. ALLOWED_HOSTS = ['имя сайта как в панели' , 'псевдоним']

В секции DATABASES укажите данные для подключения к базе MySQL.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'имя_базы_данных',
        'USER': 'имя_пользователя_базы_данных',
        'PASSWORD': 'пароль_базы_данных',
        'HOST': '<ip-адрес или localhost>',
    }
}

Если отсутствует база данных, создайте ее.

Выполните следующие действия:

  • спуститесь ниже до секции STATIC_URL
  • добавьте новую секцию STATIC_ROOT='static/'
  • нажмите кнопку Сохранить и закрыть.

Создайте каталог со статическими файлами.

  • перейдите в раздел Сайты
  • зайдите в контекстное меню
  • выберите Shell-клиент
  • создайте каталог со статическими файлами
  • выполните команды указанные ниже.
source .venv/bin/activate

python project_name/manage.py collectstatic (Где project_name - Имя проекта Django).

Выполните миграцию проекта MySQL:

  • введите команду 

    python project_name/manage.py migrate (Где project_name - имя проекта Django).
  •   нажмите кнопку Сохранить и закрыть.

Выполните создание конфигурационного файла в корневом каталоге.

  • перейдите в раздел Сайты
  • выберите сайт
  • выберите Файлы сайта
  • нажмите кнопку Создать.

Заполните строки как показано ниже:

  • Тип — файл
  • Имя  введите passenger_wsgi.ру
  • нажмите на кнопку Создать

Выполните следующие действия:

  • перейдите в раздел Сайты
  • выберите сайт
  • выберите  Файлы сайта
  • выберите файл passenger_wsgi.ру
  • нажмите на кнопку  
  • нажмите кнопку Открыть.
  • в файле passenger_wsgi.ру выполните команды указанные ниже
  • после того как все команды будут выполнены, нажмите Сохранить и закрыть
# -*- coding: utf-8 -*-
import os, sys
sys.path.insert(0, '/var/www/<имя пользователя панели>/data/www/<имя сайта>/project_name')
sys.path.insert(1, '/var/www/<имя пользователя панели>/data/www/<имя сайта>/.venv/lib/python<номер версии>/site-packages')
os.environ['DJANGO_SETTINGS_MODULE'] = 'project_name.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application() 
1. В строке sys.path.insert(0, '/var/www/<имя пользователя панели>/data/www/<имя сайта>/project_name') - укажите путь к вашему проекту.

2. В строке sys.path.insert(1, '/var/www/<имя пользователя панели>/data/www/<имя сайта>/.venv/lib/python<номер версии>/site-packages') - укажите версию Python, которую вы выбрали при создании сайта.

3. В строке os.environ['DJANGO_SETTINGS_MODULE'] = 'project_name.settings' - измените project_name на название вашего проекта.

Выполните перезапуск Python.

  • перейдите в раздел Сайты
  • выберите сайт
  • зайдите в контекстное меню
  • нажмите кнопку Перезапустить (Python)

В браузере откроется стартовая страница Django.  

В этой статье