Установка 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.
