Как установить Django на Debian 12

Django — веб-фреймворк на языке Python, предназначенный для быстрого создания безопасных и масштабируемых веб-приложений. Фреймворк включает в себя всё необходимое, что называется, «из коробки»: ORM (Object-Relational Mapping), аутентификацию, панель управления, маршрутизацию и многое другое. Благодаря принципу DRY (Don’t Repeat Yourself) и удобной архитектуре Django популярен среди разработчиков, стремящихся к чистому и эффективному коду.

В статье разберём, как установить Django на виртуальный сервер, работающий под управлением Debian 12.

Как установить Django на Debian 12

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

До того, как начать работу по инсталляции в систему нового софта, рекомендуется при помощи пакетного менеджера apt обновить информацию о версиях доступных пакетов:

$ sudo apt update

Затем установите базовый набор для начала работы с Python:

$ sudo apt install python3 python3-pip python3-venv

Данная команда производит установку трёх ключевых компонентов для работы с Python:

  • python3 — основная версия Python;
  • python3-pip — менеджер пакетов pip для Python 3;
  • python3-venv — модуль venv, предназначенный для создания виртуальных окружений Python.

Чтобы проверить версию Python, выполните команду:

$ python3 --version

Её вывод выглядит примерно следующим образом:

Вывод версии Python - Как установить Django на Debian

Далее можно переходить к установке непосредственно Django. Как правило, на практике используются два основных способа установки — установка через pip и из локального репозитория Debian.

Установка через pip

pip — стандартный менеджер пакетов для Python, который используется для установки, обновления и удаления библиотек и фреймворков, в том числе и Django.

Перед установкой Django убедитесь, что в вашей системе установлен pip, для чего следующей командой проверьте его версию:

$ pip3 --version

В нашем примере в системе установлен pip версии 23.0.1:

Вывод версии pip - Как установить Django на Debian

Если pip установлен, перейдите в свой домашний каталог:

$ cd ~

После чего создайте виртуальное окружение под именем, например, yourvenv:

$ python3 -m venv yourvenv

Затем активируйте его:

$ source yourvenv/bin/activate

Далее, используя менеджер pip, проинсталлируйте Django:

$ pip install django

После завершения инсталляции проверьте версию Django:

$ django-admin --version

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

Вывод версии Django - Как установить Django на Debian

Чтобы выйти из виртуального окружения, выполните команду:

$ deactivate

Создание проекта

После установки Django можно попробовать создать пробный тестовый проект. Для этого перейдите в домашний каталог:

$ cd ~

Создайте виртуальное окружение:

$ python3 -m venv yourvenv

Активируйте его:

$ source yourvenv/bin/activate

Затем в текущем каталоге создайте проект yourproject:

$ django-admin startproject yourproject .

В команде выше точка (.) означает, что проект создаётся именно в текущей папке, а не во вложенной.

После чего примените стандартные миграции к базе данных текущего проекта:

$ python3 manage.py migrate

На экране должно появиться что-то похожее на изображённое на скриншоте ниже:

Применение стандартных миграций к базе данных текущего проекта

Для подключения к панели администрирования проекта, создайте учётную запись суперпользователя:

$ python3 manage.py createsuperuser

При создании укажите имя пользователя, адрес электронной почты (опционально) и дважды введите пароль:

Создание учётной записи суперпользователя admin

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

$ nano yourproject/settings.py

В файле найдите параметр ALLOWED_HOSTS и укажите в качестве его значения IP-адрес вашего виртуального сервера:

ALLOWED_HOSTS = ['X.X.X.X']

Затем закройте файл с сохранением изменений.

По умолчанию Django запускает сервер разработки на порту 8000, поэтому для получения к нему доступа добавьте в брандмауэр UFW правило, разрешающее подключения по TCP-порту 8000:

$ sudo ufw allow 8000

Теперь всё готово к запуску встроенного сервера разработки Django с возможностью доступа к нему с любого IP-адреса в сети:

$ python3 manage.py runserver 0.0.0.0:8000

Данная команда используется для запуска встроенного сервера только для разработки и тестирования. Встроенный сервер Django не подходит для продакшена из-за своей низкой производительности, потому что обрабатывает только один запрос за раз, и в нём нет поддержки HTTPS и оптимизации под нагрузку.

После запуска встроенного сервера разработки Django откройте браузер и перейдите по ссылке http://X.X.X.X:8000/admin, где замените X.X.X.X на IP-адрес вашего VPS.

Подключения к панели управления Django

Для аутентификации используйте имя и пароль учётной записи, созданной ранее.

Панель управления Django - Как установить Django на Debian

Чтобы остановить сервер Django, в командной строке нажмите Ctrl c. А чтобы закрыть подключение к виртуальному окружению, используйте команду:

$ deactivate

Установка из репозитория Debian

Django также доступен для установки из локального репозитория Debian. Для его инсталляции с использованием пакетного менеджера apt запустите команду:

$ sudo apt install python3-django

Чтобы убедиться в том, что установка завершена успешно, выведите версию Django:

$ django-admin --version

Как правило, репозиторий Debian содержит менее актуальную версию, чем версия, доступная через pip.

Вывод версии Django - Как установить Django на Debian

После чего вы можете создать новый проект, например, в текущей директории:

$ django-admin startproject yourproject .

После создания проекта примените стандартные миграции к базе данных:

$ python3 manage.py migrate

Создайте учётную запись суперпользователя для подключения к панели управления:

$ python3 manage.py createsuperuser

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

$ nano yourproject/settings.py

И, чтобы разрешить доступ к серверу извне, укажите IP-адрес вашей виртуальной машины в качестве значения параметра ALLOWED_HOSTS:

ALLOWED_HOSTS = ['X.X.X.X']

В брандмауэр UFW добавьте разрешающее правило для порта, на котором Django запускает сервер разработки:

$ sudo ufw allow 8000

После чего запустите сервер разработки Django:

$ python3 manage.py runserver 0.0.0.0:8000

Если сервер запустился без ошибок, проверьте доступность панели управления, перейдя на http://X.X.X.X:8000/admin и указав IP-адрес вашего VPS вместо X.X.X.X.

Для того, чтобы остановить сервер, используйте комбинацию клавиш Ctrl c.

Вам также может понравиться