База знаний (wiki)

Онлайн бибилиотека с инструкциями по использованию и настройке хостинговых услуг

Loading...

Как установить Django на хостинге?

Loading...
1

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 или если есть выше.
Базы данных - выберите Создать новую базу данных или Не привязывать базу данных.

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

 

 nodejs hosting 01
Пояснения

Почему стоит использовать 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. Далее выполните следующие действия:

- перейдите в основное меню;
- выберите вкладку Сайты;
- выберите сайт с которым работает;
- нажмите на кнопку - редактировать (карандаш).

django hosting hostpro by 02

 

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

- откройте вкладку Обработчик (Python);

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

runserver 20000
или
runserver 20001

Порт указан в настройке сайта

 

 

 django hosting hostpro by 03

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

 

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

django hosting hostpro by 04

 

Удалите директорию project_name. (если она есть)

django hosting hostpro by 05

 

2.4. Нажмите на вкладку Конфиг.файлы.

 

django hosting hostpro by 06

 

Введите django в разделе Конфигурационный файл Python и нажмите кнопку Сохранить.

django hosting hostpro by 07

 

 

3. Установка пакетов

 

 3.1. Запустите Shell клиента (ssh) из раздела сайтов

 django hosting hostpro by 08

 

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

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.ру

Откройте менеджер файлов и перейдите в папку с проектом как на скрине:

 django hosting hostpro by 09

 Откройте файл 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',
    }
}

 

 

django hosting hostpro by 10

 

Далее

Спуститесь ниже до секции STATIC_URL;
Добавьте новую секцию STATIC_ROOT='static/'

django hosting hostpro by 10

 

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

 

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).

 

 django hosting hostpro by 12

 

 4.3. Создание файла passenger_wsgi.ру в корне сайта

 В менеджере файлов создайте:

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

django hosting hostpro by 13 

 

После откройте его для редактирования и вставьте:

# -*- 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 именно проекта (сайта)

django hosting hostpro by 14

После перезапуска, появится всплывающий блок в панели ispmanager (снизу справа)

 

Тпереь Django работает. Откройте Ваш сайт в браузере откроется стартовая страница Django :

django hosting hostpro by 15

 

 

Для более детальной настройки и разработки рекомендуется ознакомиться с официальной документацией Django - https://www.djangoproject.com/

 

 

 

 

 

 

 

 

Опубликовано 1 год назад
#16960 просмотрыОтредактировано 1 месяц назад