Вступление
Django - это бесплатный веб-фреймворк с открытым исходным кодом, написанный на Python, который соответствует архитектурному шаблону программного * view template model (MTV) *. Шаблон MTV - это пример Django для шаблона model–view–controller (MVC). Согласно Django Software Foundation, model является единственным определенным источником ваших данных, view описывает данные, которые представляются пользователю посредством обратного вызова Python https://www.digitalocean.com/community/tutorials/how-to -define-functions-in-python-3 [function] для определенного URL, а template - это то, как Django генерирует HTML динамически.
Основными принципами Django являются масштабируемость, возможность повторного использования и быстрое развитие. Он также известен своей согласованностью на уровне структуры и слабой связью, что позволяет отдельным компонентам быть независимыми друг от друга. Не повторяйте себя (DRY Программирование) является неотъемлемой частью принципов Django.
В этом уроке мы создадим среду разработки Django. Мы установим Python 3, pip 3, Django и `+ virtualenv + ', чтобы предоставить вам инструменты, необходимые для разработки веб-приложений с помощью Django.
Предпосылки
Учетная запись без полномочий root с привилегиями + sudo +
, настроенная на сервере Debian или Ubuntu Linux. Вы можете выполнить эти предварительные условия, выполнив и выполнив initial серверную настройку для Debian 8 или шаги 1-4 в учебное руководство по установке начального сервера для Ubuntu 16.04 https://www.digitalocean.com/community/tutorials/initial-server-setup-with-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
Теперь, когда у нас установлен Python 3, нам также понадобится * pip * для установки пакетов из PyPi, репозитория пакетов Python.
sudo apt-get install -y python3-pip
Чтобы убедиться, что pip был успешно установлен, выполните следующую команду:
pip3 -V
Вы должны увидеть вывод, похожий на этот:
Outputpip from /usr/lib/python3/dist-packages (python )
Теперь, когда у нас установлен pip, у нас есть возможность быстро установить другие необходимые пакеты для среды Python.
Шаг 2 - Установите virtualenv
-
virtualenv * это https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-programming-environment-on-an-ubuntu-16-04 -server # step-2-% E2% 80% 94-setup-up-a-virtual-environment [виртуальная среда], где вы можете установить программное обеспечение и пакеты Python в отдельном пространстве разработки, которое изолирует установленное программное обеспечение и пакеты от остальная часть глобальной среды вашей машины. Эта удобная изоляция предотвращает взаимодействие конфликтующих пакетов или программного обеспечения.
Чтобы установить virtualenv, мы будем использовать команду * pip3 *, как показано ниже:
pip3 install virtualenv
После установки запустите проверку версии, чтобы убедиться, что установка прошла успешно:
virtualenv --version
Мы должны увидеть следующий вывод или что-то подобное:
Output
Вы успешно установили * virtualenv *.
На этом этапе мы можем изолировать наше веб-приложение Django и связанные с ним программные зависимости от других пакетов или проектов Python в нашей системе.
Шаг 3 - Установите Django
Есть три способа установки Django. Мы будем использовать метод установки pip для этого урока, но давайте рассмотрим все доступные варианты для вашей справки.
-
* Вариант 1: установить Django в
+ virtualenv +
. *
Это идеально подходит для случаев, когда ваша версия Django должна быть изолирована от глобальной среды вашего сервера. -
* Вариант 2: установить Django из исходного кода. *
Если вам нужно новейшее программное обеспечение или что-то более новое, чем то, что предлагает ваш репозиторий Ubuntu APT, вы можете установить его прямо из исходного кода. Обратите внимание, что выбор этого метода установки требует постоянного внимания и обслуживания, если вы хотите, чтобы ваша версия программного обеспечения была актуальной. -
* Вариант 3: Установите Django Globally с помощью pip. *
Опция, с которой мы собираемся - это пункт 3, так как мы будем устанавливать Django по всему миру.
Мы будем устанавливать Django с помощью pip в виртуальной среде. Для получения дополнительных руководств и информации о настройке и использовании сред программирования, ознакомьтесь с этим руководством по адресу https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a. -programming-environment-on-an-ubuntu-16-04-server [настройка виртуальной среды].
Находясь в домашнем каталоге сервера, мы должны создать каталог, в котором будет находиться наше приложение Django. Выполните следующую команду, чтобы создать каталог с именем или другим именем по вашему выбору. Затем перейдите в каталог.
mkdir
cd
Находясь внутри каталога, создайте свою виртуальную среду. Давайте назовем это.
virtualenv
Теперь активируйте виртуальную среду с помощью следующей команды:
. env/bin/activate
Вы узнаете, что он активируется после изменения префикса, который будет выглядеть примерно так в зависимости от того, в каком каталоге вы находитесь:
В среде установите пакет Django, используя pip. Установка Django позволяет нам создавать и запускать приложения Django. Чтобы узнать больше о Django, прочитайте нашу серию руководств на Django Development.
pip install django
После установки проверьте вашу установку Django, выполнив проверку версии:
django-admin --version
Это, или что-то подобное, будет результатом:
Output
Установив Django на ваш сервер, мы можем перейти к созданию тестового проекта, чтобы убедиться, что все работает правильно.
Шаг 4 - Создание тестового проекта Django
Чтобы протестировать установку Django, мы будем создавать скелетное веб-приложение.
Настройка правил брандмауэра
Во-первых, если это применимо, нам нужно открыть порт, который мы будем использовать в брандмауэре нашего сервера. Если вы используете UFW (как подробно описано в https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04#step-seven-%E2%80%94-set -up-a-basic-firewall [руководство по первоначальной настройке сервера]), вы можете открыть порт с помощью следующей команды:
sudo ufw allow 8000
Если вы используете брандмауэры DigitalOcean, вы можете выбрать + HTTP +
из правил для входящих подключений. Вы можете узнать больше о брандмауэрах DigitalOcean и о создании правил для них, прочитав https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-cloud-firewalls#creating-new-inbound-rules-from -presets [раздел входных правил вводного урока].
Начиная проект
Теперь мы можем сгенерировать приложение, используя + django-admin +
, утилиту командной строки для задач администрирования в Python. Затем мы можем использовать команду + startproject +
, чтобы создать структуру каталогов проекта для нашего тестового веб-сайта.
В каталоге + django-apps +
выполните следующую команду:
django-admin startproject testsite
Теперь мы можем посмотреть, какие файлы проекта были только что созданы. Перейдите в каталог + 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 +
содержит список+ url Patterns
, который направляет и отображает URL-адреса в их` + views`. -
+ wsgi.py +
содержит конфигурацию интерфейса шлюза веб-сервера. Интерфейс шлюза веб-сервера (WSGI) - это стандарт платформы Python для развертывания веб-серверов и приложений.
Запустите и просмотрите свой веб-сайт
Теперь мы можем запустить сервер и просмотреть веб-сайт на указанном хосте и порту, выполнив команду + runserver +
.
Нам нужно добавить IP-адрес вашего сервера в список + ALLOWED_HOSTS +
в файле + settings.py +
, расположенном в + ~ / test_django_app / testsite / testsite / +
.
Как указано в Django docs, переменная + ALLOWED_HOSTS +
содержит «список строк, представляющих имена хостов / доменов, которые может использовать этот сайт Django. обслуживать. Это мера безопасности для предотвращения атак на заголовки HTTP Host, которые возможны даже при многих, казалось бы, безопасных конфигурациях веб-сервера ».
Вы можете использовать свой любимый текстовый редактор, чтобы добавить свой IP-адрес. Например, если вы используете + nano +
, просто выполните следующую команду:
nano ~/django-apps/testsite/testsite/settings.py
Запустив команду, вы захотите перейти к разделу «Разрешенные хосты» документа и добавить 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 = ['']
...
Вы можете сохранить изменения и выйти из nano, удерживая клавиши + CTRL +
+ + x +
, а затем нажимая клавишу + y +
.
После этого обязательно вернитесь в каталог, где находится + manage.py +
:
cd ~/django-apps/testsite/
Теперь выполните следующую команду, заменив текст IP-адресом вашего сервера:
python manage.py runserver :8000
Наконец, вы можете перейти по ссылке ниже, чтобы увидеть, как выглядит ваш каркасный веб-сайт, снова заменив выделенный текст фактическим IP-адресом вашего сервера:
http://:8000/
Как только страница загрузится, вы увидите следующее:
изображение: https: //assets.digitalocean.com/articles/eng_python/django/django-2-testsite.png [Страница по умолчанию для Django]
Это подтверждает, что Django был правильно установлен и наш тестовый проект работает правильно.
Когда вы закончите тестирование своего приложения, вы можете нажать + CTRL +
+ + C +
, чтобы остановить команду + runserver +
. Это вернет вас в среду программирования.
Когда вы будете готовы покинуть среду Python, вы можете запустить команду + deactivate +
:
deactivate
Деактивация среды программирования вернет вас в командную строку терминала.
Заключение
В этом руководстве вы успешно обновились до последней версии Python 3, доступной вам через репозиторий Ubuntu APT. Вы также установили pip3, + virtualenv
и` + django`.
Теперь у вас есть инструменты, необходимые для начала создания веб-приложений Django.