Как установить Django на хостинге?
Django — это мощный и высокоуровневый веб-фреймворк, разработанный на языке Python, предназначенный для быстрой и эффективной разработки масштабируемых веб-приложений. В его арсенале множество встроенных инструментов, которые ускоряют разработку, включая систему аутентификации пользователей, удобную админ-панель и мощные средства для работы с базами данных.
Django идеально подходит для создания различных типов веб-приложений, включая:
- Контент-менеджмент системы (CMS) — с помощью Django легко создавать платформы для управления контентом, где можно работать с текстами, изображениями и видео.
- Электронная коммерция — фреймворк предлагает готовые решения для разработки интернет-магазинов, интеграции с платежными системами и управления заказами.
- Социальные сети — Django помогает строить платформы для общения, обмена контентом и построения сообщества.
- Корпоративные приложения — благодаря удобной настройке безопасности и аутентификации, Django идеально подходит для разработки внутренних систем компаний, таких как CRM и ERP.
- Микросервисы и API — фреймворк поддерживает создание RESTful API и микросервисов, что делает его отличным выбором для разработки распределённых систем.
Django позволяет разработчикам быстро создавать надёжные и безопасные приложения, не тратя время на решение рутинных задач.
1. Установка (Пропустите этот шаг если Вы используете виртуальный хостинг):
Перед установкой убедитесь, что:
- На сервере установлены Nginx, Python и MySQL-сервер. Для корректной установки могут понадобиться дополнительные программные компоненты.
- В настройках панели пользователю должно быть разрешено использование Python.
- Возможно, потребуется установить утилиты sqlite3, gcc и необходимые пакеты для разработки серверных баз данных.
2. Создание сайта и настройка обработчика:
2.1. В разделе "Сайты" нажмите кнопку "Создать сайт".
- Заполните поля:
Доменное имя — это адрес, который пользователи будут использовать для доступа к вашему сайту в интернете.
Директория сайта — путь к каталогу, в котором будет размещен сайт, указывается относительно домашней директории владельца.
Обработчик — в поле "Обработчик" выберите Python.
Конструктор сайта/CMS — эта опция будет недоступна, если выбран обработчик Python.
Режим работы приложения — выберите подходящий режим работы для текущего пользователя.
Версия Python — выберите 3.12 или если есть выше.
Базы данных - выберите Создать новую базу данных или Не привязывать базу данных.
Привязка базы данных к веб-сайту не является обязательным шагом, но использование этой функции позволяет автоматически создать базу данных при создании сайта через панель управления. При необходимости базу данных можно создать и позже.

Пояснения
Почему стоит использовать Python 3.12?
Совместимость и производительность
- Включает последние обновления языка и стандартной библиотеки.
- Более высокая скорость работы по сравнению с предыдущими версиями благодаря улучшениям в интерпретаторе.
Долгосрочная поддержка
- Новые версии Python получают более продолжительные обновления и улучшения.
Как выбор версии Python влияет на проект?
- Новые синтаксические конструкции и усовершенствованные функции доступны только в Python 3.12.
Рекомендации
Используйте Python 3.12, если:
- Начинается новый проект.
- Требуются новые возможности и улучшенная производительность.
- Все зависимости совместимы с этой версией.
Оставь текущую версию Python, если:
- Есть устаревшие библиотеки, которые не поддерживают Python 3.12.
- Проект стабилен на более старой версии Python и не требует обновлений.
Пример
Если библиотека, например, django-someplugin, поддерживает только Python 3.10, стоит подождать обновления, которое обеспечит совместимость с Python 3.12.
2.2. Перейдите во вкладку Расширенные настройки.
Перейдите на вкладку "Обработчик" и заполните поля согласно следующим указаниям:
- Режим работы приложения — выберите "web-сервер Python".
- Путь к серверу - project_name/manage.py — укажите путь к файлу
manage.py
вашего проекта Django. Путь будет иметь следующий формат:project_name
, гдеproject_name
— это имя вашего проекта. - Аргументы сервера — введите команду
runserver <номер порта>
. Номер порта будет известен после создания сайта. Если в настройках сайта не указан порт дляrunserver
, при запуске проекта возникнет ошибка. - Cпособ подключения — порт;
- Версия Python - 3.12
Пояснения
Можно использовать команду в одном из следующих форматов.
Пример использования:
runserver <порт>;
runserver 127.0.0.1:<порт>.
После заполнения полей, нажмите кнопку Создать.
2.3. Далее выполните следующие действия:
- перейдите в основное меню;
- выберите вкладку Сайты;
- выберите сайт с которым работает;
- нажмите на кнопку - редактировать (карандаш).
Выполните следующие действия.
- откройте вкладку Обработчик (Python);
- введите порт в строке Аргументы сервера. В данном примере для поля Аргументы сервера следует указать:
runserver 20000
или
runserver 20001
Порт указан в настройке сайта
Нажмите кнопку Сохранить.
Выполните удаление автоматически созданной директории.
Удалите директорию project_name. (если она есть)
2.4. Нажмите на вкладку Конфиг.файлы.
Введите django в разделе Конфигурационный файл Python и нажмите кнопку Сохранить.
3. Установка пакетов
3.1. Запустите Shell клиента (ssh) из раздела сайтов
Введите следующие команды по очереди:
source .venv/bin/activate
pip install --upgrade pip
pip install wheel
pip install mysqlclient
django-admin startproject project_name
Обратите внимание!
При проблемах установки mysqlclient установите конкретную версию, например, pip install mysqlclient==2.1.0
django-admin startproject project_name - project_name это имя проекта Django.
В результатк будут установлены нужные пакеты для вашего сайта или проекта.
4. Настройка файлов
4.1. Редактирование settings.ру
Откройте менеджер файлов и перейдите в папку с проектом как на скрине:
Откройте файл settings.py для редактирования
- добавьте имя домена и псевдонимы в секции ALLOWED_HOSTS = [];
- домены должны находиться в кавычках. ALLOWED_HOSTS = ['имя сайта как в панели' , 'псевдоним'].
Пример: ALLOWED_HOSTS = ['django.808.by' , 'site.django.808.by'].
В секции DATABASES укажите данные для подключения к базе MySQL.
Внимание! Создайт Базу данных, если еще не создали.
Проприсать подключение:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'user_django',
'USER': 'user_django',
'PASSWORD': 'pass',
'HOST': 'localhost',
}
}
Далее
Спуститесь ниже до секции STATIC_URL;
Добавьте новую секцию STATIC_ROOT='static/'
Нажмите кнопку Сохранить и закрыть.
4.2. Cоздание каталога со статическими файлами и миграция MySQL
Откройте shell клиент, так же как в пункте 3.1 (через сайт).
Выполните команды:
source .venv/bin/activate
python project_name/manage.py collectstatic (Где project_name - Имя проекта Django).
Выполните миграцию проекта MySQL:
python project_name/manage.py migrate (Где project_name - имя проекта Django).
4.3. Создание файла 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()
Измените:
В строке sys.path.insert(0, '/var/www/<имя пользователя панели>/data/www/<имя сайта>/project_name') - укажите путь к вашему проекту.
В строке sys.path.insert(1, '/var/www/<имя пользователя панели>/data/www/<имя сайта>/.venv/lib/python<номер версии>/site-packages') - укажите версию Python, которую вы выбрали при создании сайта.
В строке os.environ['DJANGO_SETTINGS_MODULE'] = 'project_name.settings' - измените project_name на название вашего проекта.
Примеры:
sys.path.insert(0, '/var/www/isp/data/www/django.808.by/project_name')
sys.path.insert(1, '/var/www/isp/data/www/django.808.by/.venv/lib/python3.12/site-packages')
5. Финиш и запуск проекта
Перезапустите python именно проекта (сайта)
После перезапуска, появится всплывающий блок в панели ispmanager (снизу справа)
Тпереь Django работает. Откройте Ваш сайт в браузере откроется стартовая страница Django :
Для более детальной настройки и разработки рекомендуется ознакомиться с официальной документацией Django - https://www.djangoproject.com/