Как установить 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
отвечает \да на запросы во время процесса обновления. Снимите флаг, если вы хотите, чтобы обновление останавливалось для каждого запроса.
- sudo apt-get update && sudo apt-get -y upgrade
Когда будет предложено настроить grub-pc
, вы можете нажать ENTER
, чтобы принять значение по умолчанию, или настроить по желанию.
Django Software Foundation рекомендует использовать Python 3, поэтому, как только все будет обновлено, мы можем установить Python 3 с помощью следующей команды:
- sudo apt-get install python3
Чтобы убедиться в успешной установке Python 3, запустите проверку версии с помощью команды python3:
- python3 -V
Результирующий вывод будет выглядеть примерно так:
Outputpython 3.5.2
Теперь, когда у нас установлен Python 3, нам также понадобится pip для установки пакетов из PyPi, репозитория пакетов Python.
- sudo apt-get install -y python3-pip
Чтобы убедиться, что pip был успешно установлен, выполните следующую команду:
- pip3 -V
Вы должны увидеть вывод, похожий на этот:
Outputpip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)
Теперь, когда у нас установлен pip, у нас есть возможность быстро установить другие необходимые пакеты для среды Python.
Шаг 2 — Установите виртуалэнв
virtualenv — это виртуальная среда, в которой вы можете устанавливать программное обеспечение и пакеты Python в автономном пространстве разработки, которое изолирует установленное программное обеспечение и пакеты от остальной глобальной среды вашего компьютера. Эта удобная изоляция предотвращает взаимодействие конфликтующих пакетов или программного обеспечения друг с другом.
Чтобы установить virtualenv, мы будем использовать команду pip3, как показано ниже:
- pip3 install virtualenv
После установки запустите проверку версии, чтобы убедиться, что установка прошла успешно:
- virtualenv --version
Мы должны увидеть следующий вывод или что-то подобное:
Outputvirtualenv 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
или с другим именем по вашему выбору. Затем перейдите в каталог.
- mkdir django-apps
- cd django-apps
Находясь в каталоге django-apps
, создайте виртуальную среду. Назовем его env
.
- virtualenv env
Теперь активируйте виртуальную среду с помощью следующей команды:
- . env/bin/activate
Вы узнаете, что он активирован, как только префикс будет изменен на (env)
, что будет выглядеть примерно так, в зависимости от того, в каком каталоге вы находитесь:
-
В среде установите пакет Django с помощью pip. Установка Django позволяет нам создавать и запускать приложения Django. Чтобы узнать больше о Django, прочитайте нашу серию руководств по разработке Django.
- pip install django
После установки проверьте установку Django, запустив проверку версии:
- django-admin --version
Это или что-то подобное будет результатом:
Output2.2.12
Установив Django на ваш сервер, мы можем перейти к созданию тестового проекта, чтобы убедиться, что все работает правильно.
Шаг 4 — Создание тестового проекта Django
Чтобы протестировать установку Django, мы создадим каркас веб-приложения.
Настройка правил брандмауэра
Во-первых, если применимо, нам нужно открыть порт, который мы будем использовать, в брандмауэре нашего сервера. Если вы используете UFW (как подробно описано в руководстве по начальной настройке сервера), вы можете открыть порт с помощью следующей команды:
- sudo ufw allow 8000
Если вы используете брандмауэры DigitalOcean, вы можете выбрать HTTP
из правил входящего трафика. Вы можете узнать больше о брандмауэрах DigitalOcean и создании правил для них, прочитав раздел входящих правил вводного руководства.
Запуск проекта
Теперь мы можем создать приложение с помощью django-admin
, утилиты командной строки для задач администрирования в Python. Затем мы можем использовать команду startproject
для создания структуры каталогов проекта для нашего тестового веб-сайта.
Находясь в каталоге django-apps
, выполните следующую команду:
- django-admin startproject testsite
Примечание. При запуске команды django-admin startproject
каталог проекта и пакет проекта будут называться
и создайте проект в каталоге, в котором была запущена команда. Если указан необязательный параметр
, Django будет использовать указанный целевой каталог в качестве каталога проекта и создаст manage.py
и пакет проекта внутри него.
Теперь мы можем посмотреть, какие файлы проекта были только что созданы. Перейдите в каталог testsite
, затем перечислите содержимое этого каталога, чтобы увидеть, какие файлы были созданы:
- cd testsite
- ls
Outputmanage.py testsite
Вы заметите выходные данные, которые показывают, что этот каталог содержит файл с именем manage.py
и папку с именем testsite
. Файл manage.py
аналогичен файлу django-admin
и помещает пакет проекта в sys.path
. Это также устанавливает переменную среды DJANGO_SETTINGS_MODULE
, чтобы она указывала на файл settings.py
вашего проекта.
Вы можете просмотреть скрипт manage.py
в своем терминале, выполнив команду less
следующим образом:
- less manage.py
Когда вы закончите читать сценарий, нажмите q
, чтобы выйти из просмотра файла.
Теперь перейдите в каталог testsite
, чтобы просмотреть другие созданные файлы:
- cd testsite/
Затем выполните следующую команду, чтобы просмотреть содержимое каталога:
- 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
, просто выполните следующую команду:
- 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
:
- cd ~/django-apps/testsite/
Теперь выполните следующую команду, заменив текст your-server-ip на IP-адрес вашего сервера:
- python manage.py runserver your-server-ip:8000
Наконец, вы можете перейти по ссылке ниже, чтобы увидеть, как выглядит ваш веб-сайт-скелет, снова заменив выделенный текст фактическим IP-адресом вашего сервера:
http://your-server-ip:8000/
Как только страница загрузится, вы получите веб-страницу, похожую на следующую:
Это подтверждает, что Django был правильно установлен и наш тестовый проект работает правильно.
Когда вы закончите тестирование своего приложения, вы можете нажать CTRL
+ C
, чтобы остановить команду runserver
. Это вернет вас в вашу среду программирования.
Когда вы будете готовы покинуть среду Python, вы можете запустить команду deactivate
:
- deactivate
Деактивация вашей среды программирования вернет вас к командной строке терминала.
Заключение
В этом руководстве вы успешно обновились до последней версии Python 3, доступной вам через репозиторий Ubuntu APT. Вы также установили pip 3, virtualenv
и django
.
Теперь у вас есть инструменты, необходимые для начала создания веб-приложений Django.