Django — это высокоуровневый веб-фреймворк, который позволяет быстро разрабатывать безопасные и поддерживаемые веб-сайты. Это бесплатный фреймворк с открытым исходным кодом, написанный на Python. Django также популярен благодаря дополнительным возможностям, таким как производительность, безопасность, масштабируемость, переносимость и простота обслуживания.
В этом руководстве будет показано, как установить Django и настроить простое веб-приложение на Ubuntu 20.04.
Django на Ubuntu
Существует несколько способов установки Django в системе. Каждый метод подходит для разных целей.
- Глобальная установка: Django легко доступен в официальных репозиториях пакетов Ubuntu. Мы можем установить его напрямую с помощью пакетного менеджера APT. Хотя этот метод установки прост, он предлагает меньше гибкости, чем другие методы. Более того, он может не содержать последнюю версию фреймворка.
- Установка с использованием
pipв виртуальном окружении: Используя такие инструменты, какvenvиvirtualenv, мы можем создать виртуальное окружение и установить Django туда. Преимущество этого подхода в том, что он не влияет на основную систему. Он также позволяет настраивать конфигурацию и пакеты для каждого проекта отдельно. Это наиболее практичный и рекомендуемый метод работы с Django. - Установка версии Django для разработки: Django также доступен на GitHub. Последняя версия для разработки будет содержать новейшие функции и исправления. Однако это сопряжено с потенциальными проблемами производительности и стабильности.
Для этого руководства вам понадобится правильно настроенный сервер Ubuntu. Если у вас еще нет сервера Ubuntu, вы можете воспользоваться нашим руководством по настройке собственного сервера Ubuntu.
Установка Django на Ubuntu
1. Глобальная установка с помощью пакетного менеджера
Django легко доступен в официальных репозиториях пакетов. Процесс установки довольно прост. Сначала обновите индекс пакетов APT:
|
1 |
$ sudo apt update |
Затем проверьте установленную версию Python. По умолчанию Ubuntu 20.04 поставляется с Python 3.8:
|
1 |
$ python3 -V |
Теперь мы готовы установить Django:
|
1 |
$ sudo apt install python3-django |
Мы можем проверить, была ли установка успешной. Запустите следующую команду, чтобы проверить версию Django:
|
1 |
$ django-admin --version |
Это подтверждает, что Django успешно установлен. Обратите внимание, что эта версия Django не является последним стабильным выпуском. На момент написания статьи последней доступной версией Django является v3.2.5 (LTS-выпуск).
2. Установка Django с помощью pip (в виртуальном окружении)
Это рекомендуемый способ установки Django, так как он обладает наибольшей гибкостью. Мы создадим виртуальное окружение с помощью модуля venv, который входит в стандартную библиотеку Python 3. Он позволяет создавать виртуальные окружения Python и устанавливать пакеты Python без внесения изменений в другие части системы. Вы можете иметь множество виртуальных окружений с уникальными конфигурациями.
Давайте начнем. Сначала нам понадобятся Python-модули pip и venv:
|
1 2 |
$ sudo apt update $ sudo apt install python3-pip python3-venv |
Модули успешно установлены. Теперь мы создадим специальный каталог для виртуального окружения:
|
1 |
$ mkdir -pv ~/sample_project |
Затем перейдите в новый каталог:
|
1 |
$ cd ~/sample_project |
Теперь мы можем указать venv создать виртуальное окружение внутри этого каталога. Что касается имени окружения, оно должно быть информативным:
|
1 |
$ python3 -m venv sample_project_env |
Модуль venv создаст копию Python и pip в изолированной структуре каталогов внутри каталога проекта. Он будет содержать каталог с выбранным именем, в котором находится иерахия файлов, куда устанавливаются все пакеты.
Чтобы установить дополнительные пакеты, нам нужно активировать окружение:
|
1 |
$ source sample_project_env/bin/activate |
Приглашение командной строки должно измениться примерно так:
Внутри виртуального окружения мы теперь можем установить Django:
|
1 |
$ pip install django |
Проверьте, прошла ли установка успешно:
|
1 |
$ django-admin --version |
Чтобы выйти из виртуального окружения, выполните следующую команду:
|
1 |
$ deactivate |
3. Установка разрабатываемой версии Django
Разрабатываемая версия Django доступна напрямую на GitHub. Мы будем использовать git для её клонирования и развёртывания в виртуальном окружении.
Сначала убедитесь, что у вас установлены необходимые инструменты. Следующая команда установит venv и pip (модули Python) и git:
|
1 |
$ sudo apt update && sudo apt install python3-pip python3-venv git |
Затем клонируйте репозиторий Django. Он будет содержать все последние функции и исправления ошибок (в ущерб стабильности). Мы клонируем его в каталог ~/django-dev:
|
1 |
$ git clone git://github.com/django/django ~/django-dev |
Перейдите в каталог клонированного репозитория:
|
1 |
$ cd ~/django-dev |
После этого создайте виртуальное окружение с помощью модуля Python venv :
|
1 |
$ python3 -m venv sample_project_env |
Затем активируйте виртуальное окружение:
|
1 |
$ source sample_project_env/bin/activate |
Теперь мы можем установить Django, который клонировали с GitHub. Здесь флаг -e указывает на режим «редактирования» (editable) для возможности установки из системы контроля версий:
|
1 |
$ pip install -e ~/django-dev |
Наконец, проверьте установку:
|
1 |
$ django-admin --version |
Пример проекта Django
До сих пор мы демонстрировали, как установить Django в системе. Теперь пришло время применить Django на практике. В этом разделе мы покажем, как создать пример проекта Django. Пример проекта будет создан внутри виртуального окружения.
Создайте каталог для примера проекта:
|
1 |
$ mkdir -pv ~/django-test |
Перейдите в каталог проекта:
|
1 |
$ cd ~/django-test |
Затем используйте модуль venv для создания виртуального окружения Python:
|
1 |
$ python3 -m venv dummy_env |
Виртуальное окружение готово. Активируйте его:
|
1 |
$ source dummy_env/bin/activate |
Мы можем установить Django внутри окружения:
|
1 |
$ pip install django |
Мы можем использовать django-admin для создания основы проекта. В данном случае пример проекта будет называться sampleproject. Проект будет иметь каталог внутри каталога окружения, содержащий все необходимые файлы.
manage.py: управляющий скрипт, который администрирует различные задачи, специфичные для Django.пример проекта: каталог с именем проекта, содержащий непосредственно код проекта.
Однако мы не хотим создавать паутину из слишком большого количества вложенных каталогов. Поэтому укажите Django разместить файлы и каталоги в текущем каталоге:
|
1 |
$ django-admin startproject sampleproject . |
Следующим шагом является миграция базы данных. По умолчанию Django использует SQLite. Миграции применяют любые изменения, внесенные в модели Django, к схеме базы данных. Выполните следующую команду для миграции базы данных:
|
1 |
$ python manage.py migrate |
Наконец, мы создадим администратора для использования панели управления Django. Выполните следующую команду:
|
1 |
$ python manage.py createsuperuser |
Вам будет предложено ввести имя пользователя, адрес электронной почты и пароль для пользователя.
ALLOWED_HOSTS в настройках Django
Чтобы протестировать приложение, нам нужно изменить определенную директиву в настройках Django. Откройте файл settings.py в текстовом редакторе:
|
1 |
$ nano ~/django-test/sampleproject/settings.py |
Нас интересует директива ALLOWED_HOSTS. Она описывает список адресов или доменных имен, которые могут подключаться к экземпляру Django. Любой входящий запрос от хоста, которого нет в списке, вызовет исключение. Это требуется Django для предотвращения определенных классов уязвимостей безопасности.
Внутри квадратных скобок перечислите IP-адреса или доменные имена, связанные с сервером Django. Каждый элемент должен быть указан в кавычках и разделен запятой (,). Вот как будет выглядеть структура директивы:
|
1 |
$ ALLOWED_HOSTS = ['<server_ip_or_domain>', '<server2_ip_or_doman>'] |
Сохраните список и закройте редактор.
Тестирование сервера
Теперь мы можем запустить сервер разработки Django. Он представит чистый проект Django. Обратите внимание, что его следует использовать только для целей разработки. Для полноценного развертывания следуйте официальному руководству Django по развертыванию.
Перед доступом к серверу разработки убедитесь, что брандмауэр разрешает доступ к порту 8000. Если вы следуете руководству по настройке сервера Ubuntu, то укажите UFW открыть порт 8000 для связи:
|
1 |
$ sudo ufw allow 8000 |
UFW — это популярный брандмауэр, доступный во всех основных дистрибутивах Linux. Вот руководство, объясняющее различные основы UFW. Сервер разработки готов к работе. Запустите сервер:
|
1 |
$ python manage.py runserver <server_ip>:8000 |
Затем перейдите по IP-адресу сервера на порт 8000 в веб-браузере. Вы попадете на приветственную страницу Django:
|
1 |
$ http://<server_ip>:8000 |
Чтобы получить доступ к панели администратора Django, добавьте /admin/ в конец URL-адреса:
|
1 |
$ http://<server_ip>:8000/admin/ |
Введите имя пользователя и пароль администратора для доступа к разделу администрирования:
Вы можете остановить сервер, нажав CTRL-C в терминале.
Заключение
Проект Django предлагает структурную основу для разработки более полноценного сайта. Он предоставляет основные инструменты, необходимые для работы веб-приложения. Использование такого веб-фреймворка, как Django, позволяет быстрее разрабатывать проекты и уделять больше времени уникальным аспектам вашего приложения.
Приятной работы!












Комментарии
Комментариев пока нет. Будьте первым.