Как установить Django на сервер

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

Что такое Django framework

Django является веб-фреймворком, созданным на языке программирования Python и поэтому для его работы на сервере необходимо наличие программной среды Python. Фреймворк позволяет создавать сайты, состоящие из нескольких практически независимых между собой веб-приложений, управляющихся единой административной частью, переведённой на множество языков мира. Основной принцип платформы – «Ничто не должно дублироваться». В соответствии с этим, платформа состоит из ряда модулей, которые могут использоваться разными веб-приложениями, чем обеспечивается значительная минимизация объёма кода.

Основные технологические решения:

В целом, разработчики фреймворка идут исключительно «своим путём», отказываясь придерживаться каких-либо традиций в программировании. Тем не менее, это не помешало их программному продукту стать востребованным для таких хорошо известных во всём мире веб-ресурсов, как, например, Instagram, YouTube и многих других.    

Установка виртуальной среды Python на сервер

Как уже было сказано выше, для работы с Django необходимо наличие программной среды Python.

Настройку проводим на виртульном сервере с ОС Ubuntu из тарифной сетки - здесь

Настроим эту среду. Для начала, проверим версию языка, установленную на нашем сервере 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, необходимо выполнить следующее:

Активация виртуального окружения. Перейдём в каталог программы и наберём в терминале:       

$ 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 заработал. Теперь можно заниматься его развитием.

Если у вас возникли дополнительные вопросы, по установке проекта на наших серверах, обращайтитесь пожалуйста в тех. поддержку компании ГиперХост, мы с радостью поможем поднять ваш проект.