Поиск по сайту:

Как установить Django и настроить среду разработки в Ubuntu 16.04


Введение

Django — это бесплатная веб-инфраструктура с открытым исходным кодом, написанная на Python, которая придерживается архитектурного шаблона представления шаблона модели (MTV). Шаблон MTV — это способ, которым Django использует функцию для определенного URL-адреса, а шаблон — это то, как Django динамически генерирует HTML.

Основными принципами Django являются масштабируемость, возможность повторного использования и быстрая разработка. Он также известен своей согласованностью на уровне фреймворка и слабой связанностью, что позволяет отдельным компонентам быть независимыми друг от друга. Не повторяйтесь (DRY-программирование) — неотъемлемая часть принципов Django.

В этом уроке мы настроим среду разработки Django. Мы установим Python 3, pip 3, Django и virtualenv, чтобы предоставить вам инструменты, необходимые для разработки веб-приложений с помощью Django.

Предпосылки

Учетная запись пользователя без полномочий root с привилегиями sudo, настроенная на сервере Debian или Ubuntu Linux. Вы можете выполнить эти предварительные условия, выполнив руководство по начальной настройке сервера для Ubuntu 16.04.

Шаг 1 — Установите Python и pip

Чтобы установить Python, мы должны сначала обновить локальный репозиторий APT. В окне вашего терминала мы введем следующую команду. Обратите внимание, что флаг -y отвечает \да на запросы во время процесса обновления. Снимите флаг, если вы хотите, чтобы обновление останавливалось для каждого запроса.

  1. sudo apt-get update && sudo apt-get -y upgrade

Когда будет предложено настроить grub-pc, вы можете нажать ENTER, чтобы принять значение по умолчанию, или настроить по желанию.

Django Software Foundation рекомендует использовать Python 3, поэтому, как только все будет обновлено, мы можем установить Python 3 с помощью следующей команды:

  1. sudo apt-get install python3

Чтобы убедиться в успешной установке Python 3, запустите проверку версии с помощью команды python3:

  1. python3 -V

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

Output
python 3.5.2

Теперь, когда у нас установлен Python 3, нам также понадобится pip для установки пакетов из PyPi, репозитория пакетов Python.

  1. sudo apt-get install -y python3-pip

Чтобы убедиться, что pip был успешно установлен, выполните следующую команду:

  1. pip3 -V

Вы должны увидеть вывод, похожий на этот:

Output
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

Теперь, когда у нас установлен pip, у нас есть возможность быстро установить другие необходимые пакеты для среды Python.

Шаг 2 — Установите виртуалэнв

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

Чтобы установить virtualenv, мы будем использовать команду pip3, как показано ниже:

  1. pip3 install virtualenv

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

  1. virtualenv --version

Мы должны увидеть следующий вывод или что-то подобное:

Output
virtualenv 20.0.20 from /home/sammy/.local/lib/python3.5/site-packages/virtualenv/__init__.py

Вы успешно установили virtualenv.

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

Шаг 3 — Установите Джанго

Есть три способа установить Django. В этом руководстве мы будем использовать метод установки pip, но давайте рассмотрим все доступные варианты для справки.

  • Вариант 1. Установите Django в virtualenv. Это идеально, когда вам нужно, чтобы ваша версия Django была изолирована от глобальной среды вашего сервера.
  • Вариант 2. Установите Django из исходного кода. Если вам нужно новейшее программное обеспечение или вы хотите что-то более новое, чем то, что предлагает репозиторий Ubuntu APT, вы можете установить его прямо из исходного кода. Обратите внимание, что выбор этого метода установки требует постоянного внимания и обслуживания, если вы хотите, чтобы ваша версия программного обеспечения была актуальной.
  • Вариант 3. Установите Django глобально с помощью pip. Вариант, который мы используем, — это пункт 3, так как мы будем устанавливать Django глобально.

Мы будем устанавливать Django с помощью 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. Чтобы узнать больше о Django, прочитайте нашу серию руководств по разработке Django.

  1. pip install django

После установки проверьте установку Django, запустив проверку версии:

  1. django-admin --version

Это или что-то подобное будет результатом:

Output
2.2.12

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

Шаг 4 — Создание тестового проекта Django

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

Настройка правил брандмауэра

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

  1. sudo ufw allow 8000

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

Запуск проекта

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

Находясь в каталоге django-apps, выполните следующую команду:

  1. django-admin startproject testsite

Примечание. При запуске команды django-admin startproject каталог проекта и пакет проекта будут называться и создайте проект в каталоге, в котором была запущена команда. Если указан необязательный параметр , 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 settings.py urls.py wsgi.py

Давайте рассмотрим, что представляет собой каждый из этих файлов:

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

Примечание. Несмотря на то, что был создан файл по умолчанию, вы по-прежнему можете в любое время настроить wsgi.py в соответствии с вашими потребностями развертывания.

Запустите и просмотрите свой веб-сайт

Теперь мы можем запустить сервер и просмотреть веб-сайт на указанном хосте и порту, выполнив команду 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

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

"""
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.

После этого обязательно вернитесь в каталог, где находится manage.py:

  1. cd ~/django-apps/testsite/

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

  1. python manage.py runserver your-server-ip:8000

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

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

Как только страница загрузится, вы получите веб-страницу, похожую на следующую:

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

Когда вы закончите тестирование своего приложения, вы можете нажать CTRL + C, чтобы остановить команду runserver. Это вернет вас в вашу среду программирования.

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

  1. deactivate

Деактивация вашей среды программирования вернет вас к командной строке терминала.

Заключение

В этом руководстве вы успешно обновились до последней версии Python 3, доступной вам через репозиторий Ubuntu APT. Вы также установили pip 3, virtualenv и django.

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