One place for hosting & domains

      Установка веб-фреймворка Django в Ubuntu 18.04


      Введение

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

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

      Различные методы

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

      Ниже представлены некоторые из этих методов:

      • Глобальная установка из пакетов: официальные репозитории Ubuntu содержат пакеты Django, которые могут быть установлены с помощью традиционного менеджера пакетов apt. Это простой метод, но он не обладает такой гибкостью, как ряд других методов. Кроме того, версия, содержащаяся в репозиториях, может отличаться от последних официальных версий, доступных в проекте.
      • Установка с помощью pip в виртуальной среде: вы можете создать самодостаточную среду для ваших проектов, используя такие инструменты, как venv и virtualenv. Виртуальная среда позволяет установить Django директорию проекта без воздействия систему в широком масштабе, наряду с другими настройками и пакетами для отдельного проекта. Это самый практичный и рекомендуемый метод работы с Django.
      • Установка версии для разработчиков с помощью git: если вы хотите установить последнюю версию для разработчиков вместо стабильной версии, вы можете воспользоваться кодом из репозитория Git. Это необходимо для получения доступа к последним функциям и исправлениям, а установка выполняется в виртуальной среде. Однако версии для разработчиков не не обладают такой же гарантированной стабильностью, как более стабильные версии.

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

      Перед началом установки у вас должен быть пользователь без прав root с привилегиями sudo на сервере Ubuntu 18.04. Для настройки такой системы следуйте нашему руководству по начальной настройке сервера Ubuntu 18.04.

      Глобальная установка из пакетов

      Если вы хотите установить Django, используя репозитории Ubuntu, процесс установки не вызовет никаких сложностей.

      Во-первых, обновите локальный индекс пакетов с помощью apt:

      Затем необходимо проверить, какую версию Python вы установили. С версией 18.04 по умолчанию поставляется Python 3.6, а вы можете проверить это с помощью следующей команды:

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

      Output

      Python 3.6.5

      Затем установите установку Django:

      • sudo apt install python3-django

      Вы можете проверить, что установка выполнена успешно, введя следующую команду:

      Output

      1.11.11

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

      Установка с помощью pip в виртуальной среде

      Наиболее гибкий метод установки Django в вашей системе — использование виртуальной среды. Мы покажем, как установить Django в виртуальной среде, которую мы создадим с помощью модуля venv, который является частью стандартной библиотеки Python 3. Этот инструмент позволяет создавать виртуальную среду Python и устанавливать пакеты Python без какого-либо воздействия на остальные элементы системы. Таким образом, вы сможете выбирать пакеты Python согласно нуждам отдельного проекта, не обращая внимание на возможные конфликты с требованиями других проектов.

      Давайте начнем с обновления локального индекса пакетов:

      Проверьте установленную версию Python:

      Output

      Python 3.6.5

      Затем мы установим pip из репозиториев Ubuntu:

      • sudo apt install python3-pip

      После установки pip вы сможете использовать его для установки пакета venv:

      • sudo apt install python3-venv

      Теперь при запуске нового проекта вы сможете создать для него виртуальную среду. Для этого нужно создать и перейти к созданной директории проекта:

      • mkdir ~/newproject
      • cd ~/newproject

      Затем создайте виртуальную среду в директории проекта, используя команду python, совместимую с вашей версией Python. Мы назовем нашу виртуальную среду my_env, но вы должны дать ей какое-то понятное название:

      В результате должны быть установлены отдельные версии Python и pip в изолированную структуру директорий внутри директории вашего проекта. Будет создана директория с выбранным вами именем, в которой будет храниться иерархия файлов, где будут установлены ваши пакеты.

      Чтобы установить пакеты в изолированную среду, вы должны активировать ее с помощью следующей команды:

      • source my_env/bin/activate

      Ваше командная строка должна измениться, отражая переход в виртуальную среду. Он будет выглядеть примерно так: (my_env)username@hostname:~/newproject$.

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

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

      Output

      2.1

      Обратите внимание, что ваша версия может отличаться от представленной здесь версии.

      Чтобы покинуть вашу виртуальную среду, вам нужно воспользоваться командой deactivate из любого места в системе:

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

      • cd ~/newproject
      • source my_env/bin/activate

      Установка версии для разработчиков с помощью Git

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

      Во-первых, давайте обновим локальный индекс пакетов:

      Проверьте установленную версию Python:

      Output

      Python 3.6.5

      Затем установите pip из официальных репозиториев:

      • sudo apt install python3-pip

      Установите пакет venv, чтобы создать свою виртуальную среду:

      • sudo apt install python3-venv

      Следующий шаг — клонирование репозитория Django. В период между релизами этот репозиторий содержит более современные функции и исправления с максимально возможной стабильностью. Вы можете клонировать репозиторий в каталог с названием ~/django-dev внутри домашнего каталога, введя следующую команду:

      • git clone git://github.com/django/django ~/django-dev

      Перейдите в эту директорию:

      Создайте виртуальную среду, используя команду python, совместимую с установленной версией Python:

      Активируйте ее:

      • source my_env/bin/activate

      Затем вы сможете установить репозиторий с помощью pip. Вариант -e будет установлена в режим с разрешением редактирования, что необходимо при установке с помощью системы управления версиями:

      • pip install -e ~/django-dev

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

      Output

      2.2.dev20180802155335

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

      Теперь у вас есть последняя версия Django в вашей виртуальной среде.

      Создание образца проекта

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

      Во-первых, создайте директорию для вашего проекта и измените ее с помощью следующей команды:

      • mkdir ~/django-test
      • cd ~/django-test

      Затем создайте свою виртуальную среду:

      Активируйте среду:

      • source my_env/bin/activate

      Установите Django:

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

      • Скрипт управления manage.py, который можно использовать для администрирования различных задач в Django.
      • Директорию (с таким же именем, что и проект), которая содержит актуальный код проекта.

      Чтобы избежать использования слишком большого количества вложенных директорий, нужно указать для Django размещение скрипта управления и внутренней директории в текущей директории (обратите внимание на точку в конце):

      • django-admin startproject djangoproject .

      Чтобы выполнить миграцию базы данных (этот пример использует SQLite по умолчанию), воспользуемся командой migrate и manage.py. При миграции применяются все изменения, внесенные в ваши модели Django, для схемы вашей базы данных.

      Чтобы выполнить миграцию базы данных, введите:

      Вы увидите следующий результат:

      Output

      Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying sessions.0001_initial... OK

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

      • python manage.py createsuperuser

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

      Изменение ALLOWED_HOSTS в настройках Django

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

      Откройте файл настроек, введя следующую команду:

      • nano ~/django-test/djangoproject/settings.py

      Внутри файла найдите директиву ALLOWED_HOSTS. Она определяет список разрешенных адресов или доменных имен, которые могут быть использованы для подключения к экземпляру Django. Входящий запрос с заголовком Host, не включенный в этот список, будет вызывать исключение. Django требует, чтобы вы использовали эту настройку, чтобы предотвратить использование определенного класса уязвимости безопасности.

      В квадратных скобках перечислите IP-адреса или доменные имена, связанные с вашим сервером Django. Каждый элемент должен быть указан скобках, а отдельные записи разделяются запятой. Если вы хотите добавить весь домен и любые поддомены, добавьте точку перед началом записи:

      ~/django-test/djangoproject/settings.py

      . . .
      ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]
      

      После завершения редактирования сохраните файл и закройте редактор.

      Тестирование сервера для разработки

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

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

      Запустите сервер разработки:

      • python manage.py runserver your_server_ip:8000

      Откройте в браузере IP-адрес вашего сервера с суффиксом :8000:

      http://your_server_ip:8000
      

      Вы должны увидеть примерно следующее:

      Открытая страница Django

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

      http://your_server_ip:8000/admin/
      

      В этом случае вы увидите экран для входа:

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

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

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

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

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

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

      Заключение

      Вы установили Django на сервер Ubuntu 18.04, а также предоставили основные инструменты, которые вам потребуются для создания мощных веб-приложений. Также теперь вы должны знать, как создать новый проект и запустить сервер для разработки. Использование такого мощного веб-фреймворка,как Django, может ускорить процесс разработки, а также сосредоточить внимание исключительно на уникальных аспектах ваших приложений.

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



      Source link


      Leave a Comment