Tutorial

Установка Django и настройка среды разработки в Ubuntu 20.04

Published on May 21, 2020
Русский
Установка Django и настройка среды разработки в Ubuntu 20.04

Введение

Django — бесплатная веб-структура с открытым исходным кодом, написанная на Python. Она построена на принципах масштабируемости, многократного использования элементов и быстрой разработки. Также она отличается согласованностью и слабой связанностью компонентов, за счет чего отдельные компоненты не зависят друг от друга.

В этом обучающем модуле мы выполним настройку среды Django для целей разработки на сервере Ubuntu 20.04. Для общедоступного сайта нужно учитывать и дополнительные аспекты, включая подключение к базе данных, настройку доменного имени и добавление уровней безопасности. Мы предлагаем много разных обучающих модулей Django, которые помогут вам на разных этапах построения приложений. Все они отмечены тегом Django.

Предварительные требования

Для прохождения этого обучающего модуля вам потребуется следующее:

Шаг 1 — Установка Django

Существует несколько способов установки Django, в том числе установка с помощью диспетчера пакетов Python pip в виртуальной среде.

В домашнем каталоге сервера мы создадим каталог, где будет располагаться наше приложение Django. Используйте следующую команду для создания каталога с именем django-apps или другим предпочитаемым именем. Затем перейдите в каталог.

  1. mkdir django-apps
  2. cd django-apps

Создайте виртуальную среду в каталоге django-apps. Мы присвоим ей общее имя env, но вы можете использовать другое имя, имеющее значение для вас и вашего проекта.

  1. virtualenv env

Активируйте виртуальную среду с помощью следующей команды:

  1. . env/bin/activate

После активации префикс изменится на (env),что будет выглядеть примерно так, в зависимости от каталога, в котором вы находитесь:

Установите пакет Django в этой среде с помощью pip. Установка Django позволит нам создавать и запускать приложения Django.

  1. pip install django

Для подтверждения установки Django следует запустить проверку версии:

  1. django-admin --version

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

Output
3.0.6

Мы установили Django на сервере и теперь можем перейти к созданию тестового проекта для проверки его работы. Мы создадим каркас веб-приложения.

Шаг 2 — Настройка брандмауэра

Если вы выполнили все указания нашего обучающего модуля по начальной настройке сервера или на вашем сервере работает брандмауэр, необходимо открыть в брандмауэре сервера порт, который мы будем использовать. Для брандмауэра UFW вы можете открыть порт с помощью следующей команды:

  1. sudo ufw allow 8000

Если вы используете брандмауэры DigitalOcean, вы можете выбрать HTTP в правилах входящего трафика. Вы можете узнать больше о брандмауэрах DigitalOcean и создании правил для них посредством изменения правил входящего трафика.

Шаг 3 — Запуск проекта

Теперь мы можем сгенерировать приложение, используя утилиту командной строки django-admin, предназначенную для выполнения административных задач Python. Затем мы используем команду startproject для создания структуры каталогов проекта для нашего тестового сайта.

Запустите следующую команду в каталоге django-apps:

  1. django-admin startproject testsite

Примечание. При запуске команды django-admin startproject <projectname> каталогу проекта и пакету проекта будет присвоено имя <projectname>, а сам проект будет создан в каталоге запуска команды. Если указан необязательный параметр <destination>, Django использует указанный в нем каталог в качестве каталога проекта и создаст в нем файл manage.py и пакет проекта.

Посмотрим, какие файлы проекта были только что созданы. Перейдите в каталог testsite и выведите содержимое каталога, чтобы просмотреть список созданных файлов:

  1. cd testsite
  1. ls
Output
manage.py testsite

Вы увидите на экране, что этот каталог содержит файл manage.py и папку testsite. Файл manage.py аналогичен файлу django-admin и помещает пакет проекта в sys.path. Также он задает переменную среды DJANGO_SETTINGS_MODULE, указывающую на файл settings.py вашего проекта.

Вы можете просмотреть скрипт manage.py в терминале, запустив команду less следующим образом:

  1. less manage.py

Закончив чтение скрипта, нажмите q, чтобы закрыть просмотр файла.

Теперь перейдите в каталог testsite для просмотра других созданных файлов:

  1. cd testsite/

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

  1. ls

Вы увидите четыре файла:

Output
__init__.py asgi.py settings.py urls.py wsgi.py

Расскажем об этих файлах подробнее:

  • __init__.py выступает как точка входа вашего проекта Python.
  • asgi.py содержит конфигурацию для опционального развертывания на асинхронный интерфейс шлюза сервера ASGI, являющийся стандартным для синхронных или асинхронных приложений и считающийся преемником стандарта WSGI (см. ниже).
  • settings.py описывает конфигурацию установки Django и сообщает Django о том, какие доступны настройки.
  • urls.py содержит список urlpatterns, осуществляющий перенаправление и сопоставление URL с представлениями.
  • wsgi.py содержит конфигурацию интерфейса шлюза веб-сервера WSGI, стандартного варианта для синхронных приложений Python.

Примечание. Хотя файлы по умолчанию уже сгенерированы, вы можете изменить файл asgi.py или wsgi.py в любое время в зависимости от требований разработки.

Шаг 4 — Настройка Django

Теперь мы можем запустить сервер и посмотреть сайт на указанном хосте и порту с помощью команды runserver.

IP-адрес вашего сервера нужно будет добавить в список ALLOWED_HOSTS в файце settings.py в каталоге ~/test_django_app/testsite/testsite/.

Как указано в документации по Django, переменная ALLOWED_HOSTS содержит «список строк, представляющих хосты и доменные имена, которые может обслуживать этот сайт Django. Эта мера безопасности предназначена для предотвращения атак через заголовки хоста HTTP, которые возможны даже в кажущихся безопасными конфигурациях веб-серверов».

Вы можете использовать предпочитаемый текстовый редактор, чтобы добавить свой IP-адрес. Например, если вы используете nano, запустите следующую команду:

  1. nano ~/django-apps/testsite/testsite/settings.py

После запуска команды перейдите в раздел Allowed Hosts документа и добавьте IP-адрес вашего сервера в квадратных скобках в двойных или одинарных кавычках.

settings.py
"""
Django settings for testsite project.

Generated by 'django-admin startproject' using Django 2.0.
...
"""
...
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

# Edit the line below with your server IP address
ALLOWED_HOSTS = ['your-server-ip']
...

Чтобы сохранить изменения и выйти из nano, нажмите CTRL + x, а затем нажмите y. Теперь откроем наше веб-приложение в браузере.

В заключение мы создадим административного пользователя, чтобы вы могли использовать интерфейс администратора Django. Давайте сделаем это с помощью команды createsuperuser:

  1. python manage.py createsuperuser

Вам будет предложено ввести имя пользователя, адрес электронной почты и пароль вашего пользователя.

Шаг 5 — Доступ к веб-приложению Django

Мы завершили настройку конфигурации, и теперь вы можете вернуться в каталог, где располагается файл manage.py:

  1. cd ~/django-apps/testsite/

Теперь запустите следующую команду, заменяющую your-server-ip на IP-адрес вашего сервера:

  1. python manage.py runserver 0.0.0.0:8000

В заключение вы можете перейти по ссылке ниже, чтобы посмотреть карка сайта. Для этого замените выделенный текст фактическим IP-адресом вашего сервера:

http://your-server-ip:8000/

После загрузки страницы вы увидите следующее:

Страница Django по умолчанию

Это подтверждает, что установка Django выполнена правильно, и наш тестовый проект нормально работает.

Чтобы получить доступ к интерфейсу администратора, добавьте /admin/ в конец URL:

http://your_server_ip:8000/admin/

Вы перейдете на экран входа:

Вход в панель администратора Django

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

Страница администратора Django

Дополнительную информацию о работе с интерфейсом администратора Django можно найти в статье «Активация и подключение интерфейса администратора Django».

Закончив тестирование приложения, нажмите CTRL + C для остановки команды runserver. Вы вернетесь в среду программирования.

Когда вы будете готовы покинуть вашу среду Python, вы можете запустить команду deactivate:

  1. deactivate

После отключения среды программирования вы вернетесь в командную строку терминала.

Заключение

В этом обучающем модуле мы успешно выполнили установку Django и настроили среду разработки, чтобы начать работать с вашим приложением Django.

Теперь у вас есть необходимый фундамент для построения веб-приложений Django.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel