Как установить Django на сервер
Для создания крупных Интернет-проектов всё чаще обращаются к фреймворку Django, известного своими неординарными технологическими решениями, претендующими на эксклюзивность. Поэтому для Администраторов веб-хостингов актуальным становится вопрос корректного развёртывания на сервере сайтов, созданных на базе Django. Рассмотрим здесь характеристики данного фреймворка, а также продемонстрируем процесс его установки на сервер на практике.
Что такое Django framework
Django является веб-фреймворком, созданным на языке программирования Python и поэтому для его работы на сервере необходимо наличие программной среды Python. Фреймворк позволяет создавать сайты, состоящие из нескольких практически независимых между собой веб-приложений, управляющихся единой административной частью, переведённой на множество языков мира. Основной принцип платформы – «Ничто не должно дублироваться». В соответствии с этим, платформа состоит из ряда модулей, которые могут использоваться разными веб-приложениями, чем обеспечивается значительная минимизация объёма кода.
Основные технологические решения:
- модульный принцип построения;
- использование для построения веб-приложений оригинальной схемы «Модель-Шаблон-Представление»;
- наличие оригинального API (Application Programming Interface) для доступа к реляционным базам данных, позволяющего разработчикам работать с виртуальной объектной базой;
- использование обработчика URL-адресов на основе регулярных выражений;
- расширенная система фильтров для обработки запросов.
В целом, разработчики фреймворка идут исключительно «своим путём», отказываясь придерживаться каких-либо традиций в программировании. Тем не менее, это не помешало их программному продукту стать востребованным для таких хорошо известных во всём мире веб-ресурсов, как, например, Instagram, YouTube и многих других.
Установка виртуальной среды Python на сервер
Как уже было сказано выше, для работы с Django необходимо наличие программной среды Python.
Настроим эту среду. Для начала, проверим версию языка, установленную на нашем сервере Ubuntu. Для этого наберём в терминале:
$ python3 --version
Как видим, установлена версия Python 3.8.10, которая является одной из последних. В случае, если бы этот компонент не был установлен, то нам пришлось бы набрать следующую команду для сервера на ОС Debian или Ubuntu:
$ sudo apt install python3
Технология Python поддерживает, так называемое, виртуальное окружение для каждого веб-приложения. Это означает, что разные приложения не будут «мешать» друг другу, что способствует «чистоте» среды разработки. Создадим это окружение.
Для начала, создадим отдельный каталог, который одновременно будет каталогом для программы Django. Для этого введём в терминале ряд команд:
$ mkdir djangogirls
$ cd djangogirls
Для ОС Debian/Ubuntu команда для установки необходимых пакетов для формирования виртуального окружения будет следующей:
$ sudo apt install python3.8-venv
После запуска команды будет выведена информация об устанавливаемых в системе пакетах и о необходимом объеме дискового пространства для их установки. После подтверждения согласия на установку (клавиша Y), выполнение команды продолжится. Ниже представлен последний экран команды с сообщениями об установленных компонентах.
После этого создадим для каталога djangogirls виртуальное окружение Python. Это можно сделать с помощью следующей команды:
$ python3 -m venv myvenv
Где myvenv – имя каталога, где будут созданы системные файлы виртуального окружения. Имя может быть произвольным.
После выполнения команды в каталоге djangogirls будет создан каталог с файлами виртуального окружения, то есть, myvenv. Для того чтобы в этом убедиться, достаточно набрать команду просмотра содержимого каталога в Ubuntu:
$ ls
Как видим, каталог myvenv появился.
Для активации виртуального окружения в Ubuntu следует ввести следующую команду:
$ source myvenv/bin/activate
Как видно из скриношта выполненной команды, в командной строке появился заголовок (myvenv), что является признаком работающего виртуального окружения.
Установка pip для работы с Python/Django
Pip (Package Installer for Python) является менеджером пакетов, аналогичным менеджеру apt для Ubuntu. Он используется для управления программным обеспечением (ПО), созданном на языке Python. Для этого при запуске менеджера обычно задействуется файл с именем requirements.txt, в котором перечисляются названия программных пакетов и их версии. Это позволяет успешно воспроизводить список устанавливаемых пакетов на другой машине или же в другом виртуальном окружении.
Для установки Django он необходим pip. Введём в терминале команду установки данного ПО для Ubuntu:
$ apt install python3-pip
В окне терминала будет выведена информация о типе устанавливаемых пакетов и объёме дискового пространства, необходимого для их установки. После подтверждения (Y), выполнение команды продолжится. Ниже показан процесс установки пакетов в процессе (98% выполнено).
Последний экран выхода команды показан ниже. Здесь видно, что менеджер пакетов pip успешно установлен в системе.
Установка и настройка Django на VPS
Перед установкой Django подготовим файл requirements.txt, в котором впишем название программы и её версию. Для этого введём в терминале команду вызова редактора nano:
$ nano requirements.txt
Если редактор nano еще не установлен на сервере, сделать это можно через команду:
$ apt update nano
$ apt install nano
При этом появится окно редактора с «чистым» файлом, в который впишем следующую строку с верией Django. Доступные версии Python для использования нужной версии Django можно проверить в документации по ссылке:
Django~=3.2.10
Затем сохраним внесённые в файл изменения (ctrl+O) и выйдем из редактора (ctrl+X).
Теперь запустим процесс установки программы Django с помощью следующей команды:
$ pip install -r requirements.txt
Ниже представлен экраны, на которых отображается процесс установки программы «в движении».
Из последнего экрана видно, что установка прошла успешно и программа Django установлена (Successfully installed Django-3.2.15), что нам и требовалось. Причём, версия установленной программы более новая, чем та, которую мы указывали в файле.
Дальше создадим структуру директорий для проекта через команду:
$ django-admin startproject mysite
где mysite - имя проекта.
Теперь можно начинать настраивать наш будущий проект. Для начала просмотрим содержимое каталога djangogirls с помощью соответствующей команды:
$ ls -la ~/djangogirls/mysite/manage.py ~/djangogirls/mysite/mysite/
Мы видим, что кроме каталога виртуального окружения здесь появился файл manage.py с управляющим скриптом и каталог mysite, в котором хранятся файлы для настройки нашего сайта. Так, в файле settings.py можно задать любые установки, касающиеся его функционирования и адресации. Здесь все установки хранятся в формате: параметр = «значение». Для просмотра части содержимого этого файла, наберём в терминале:
$ nano mysite/settings.py
Для создания базы данных сайта воспользуемся командой:
$ python manage.py migrate
При этом будет создана база типа sqlite3, которая установлена по умолчанию в файле settings.py. Соответствующий код файла settings.py можно увидеть на скриншоте ниже.
В этом же файле можно установить, например, следующие параметры: язык сайта (параметр LANGUAGE_CODE); адреса статических файлов (параметр STATIC_ROOT); адрес хоста (параметр ALLOWED_HOSTS) и сделать многие другие настройки для сайта.
Как проверить установку Django на сервере
Узнать, установлена ли на сервере программа Django и какая её версия, можно разными способами. Наиболее простой из них – ввести команду django-admin с соответствующим параметром:
$ django-admin version
Мы видим, что программа установлена и её версию.
Для запуска в Интернете нашего проекта на Django, который предварительно нами уже был настроен с помощью файла settings.py, необходимо выполнить следующее:
- Перейти в директорию djangogirls и активировать виртуальное окружение;
- Запустить веб-сервер;
- Набрать в браузере адрес проекта.
Активация виртуального окружения. Перейдём в каталог программы и наберём в терминале:
$ source myvenv/bin/activate
Активация прошла успешно.
Запуск веб-сервера
Для запуска веб-сервера воспользуемся следующей командой:
$ python manage.py runserver 0:8000
Сервер успешно запущен.
Чтобы проект был доступен по адресу, открываем файл с настройками:
$ vim djangogirls/mysite/mysite/settings.py
Ищем параметр ALLOWED_HOSTS и напротив него вписываем адрес сервера с вашим проектом.
Просмотр проекта в браузере
Для этого наберём в адресной строке браузера IP адрес нашего сервера и порт, откроем страницу:
http://1.1.1.1:8000/
Мы видим, что наш проект на Django заработал. Теперь можно заниматься его развитием.
Если у вас возникли дополнительные вопросы, по установке проекта на наших серверах, обращайтитесь пожалуйста в тех. поддержку компании ГиперХост, мы с радостью поможем поднять ваш проект.