Искать в Базе знаний

Django

Django — бесплатный фреймворк для веб-приложений на языке Python.
По умолчанию сервер обрабатывает PHP-скрипты. Для запуска Python-приложений, выберите uWSGI в качестве веб-сервера для домена в разделе «Сайты» → «Веб-серверы» Панели управления. Установить и настроить фреймворк можно как в пару кликов в Панели управления, так и вручную через SSH.

Установка и настройка Django

В Панели управления перейдите в раздел «Сайты» → «Автоустановка CMS». Затем кликните на сайт, на который нужно установить фреймворк.
content-image
В появившемся списке нажмите на нужный фреймворк, после чего укажите папку для установки. Если вы устанавливаете фреймворк не в отдельную папку или поддомен, то менять ничего не требуется.
content-image  content-image
По завершении установки вы увидите сообщение об успешной установке и данные для входа в админку.

content-image

Установка и настройка Django вручную

В uWSGI уже включены основные модули, но для запуска Django требуются дополнительные. Чтобы устанавливать модули в рамках аккаунта, создайте и активируйте виртуальное окружение для Python.
Внутри виртуального окружения, выполните команду pip для установки фреймворка:
pip install Django
Теперь создайте проект на Django. Для этого перейдите в каталог домена (~/domains/domain.ru/), на котором будет использоваться фреймворк: 
cd domains/domain.ru/
И выполните команду:
django-admin startproject myproject
cd public_html/
создайте файл входа в приложение — site.wsgi. Это можно сделать с помощью файлового менеджера в Панели управления или воспользовавшись текстовым редактором vim:
vim site.wsgi
Наполните файл содержимым:
import os, sys
activate_this = '/home/username/python/bin/activate_this.py'
with open(activate_this) as f:
     exec(f.read(), {'__file__': activate_this})
sys.path.insert(0, os.path.join('/home/username/domains/domain.ru/myproject'))
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Замените username на логин вашего аккаунта, domain.ru — на доменное имя вашего сайта, а myproject — на название вашего проекта, если оно другое. 
Настройте выполнение скриптов на Python, добавив правила в файл .htaccess.
Укажите домен, по которому будет открываться сайт, в конфигурационном файле проекта. Для этого откройте файл settings.py, расположенный в каталоге ~/domains/domain.ru/myproject/myproject/: 
cd ~/domains/domain.ru/myproject/myproject/
И добавьте доменное имя в строку ALLOWED_HOSTS:
ALLOWED_HOSTS = ['']
Приступать к работе с фреймворком можно уже на этом этапе, однако большинству проектов нужна база данных. 

Установка SQLite

По умолчанию Django работает с SQLite, но требует версию выше, нежели та, что есть в CentOS по умолчанию.
Установим альтернативную версию. Выполните команду:
pip3 install pysqlite3-binary
И отредактируйте файл Django, указав в нем, что вместо стандартного модуля нужно использовать альтернативный: 
vim ~/python/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py
Найдите строку:
from sqlite3 import dbapi2 as Database
И замените её на:
from pysqlite3 import dbapi2 as Database

Подключение базы данных MySQL

По умолчанию модуль для работы с MySQL отсутствует. Для установки выполните команду:
pip install mysqlclient
Укажите данные для подключения к базе данных в конфигурационном файле (settings.py) в поле DATABASES:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'username_db',
        'USER': 'username_dbuser',
        'PASSWORD': 'password',
        'HOST': 'localhost',
    }
}
Здесь username_db — название вашей базы данных, username_dbuser — имя пользователя базы данных, password — пароль.
Чтобы применить изменения, вернитесь в каталог ~/domains/domain.ru/myproject/:
cd ..
И выполните команду:
python manage.py migrate
Готово! Если все настроено верно, при переходе на сайт отобразится страница:
content-image
Теперь вы можете приступить к разработке своего сайта на Python с помощью Django.
Если у вас возникли сложности в процессе установки фреймворка, обратитесь в нашу службу поддержки.
2005–2025 ООО «СПРИНТХОСТ.РУ»
Входит в Реестр аккредитованных ИТ-компаний
и Реестр провайдеров хостинга
Лицензия №162552