MyTetra Share
Делитесь знаниями!
Время создания: 16.10.2021 17:40
Автор: alensav
Текстовые метки: django, virtual, python
Раздел: Django
Запись: alensav/MyTetra2/main/base/16343952286okurehnu5/text.html на raw.githubusercontent.com

Django_virtual

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

  • By Justin Ellingwood and Kathleen Juell Published onJanuary 7, 2020 14k views

Введение

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:

  • sudo apt update 

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

  • python3 -V 

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

OutputPython 3.6.5


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

  • sudo apt install python3-django 

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

  • django-admin --version 

Output1.11.11


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

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

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

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

  • sudo apt update 

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

  • python3 -V 

OutputPython 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, но вы должны дать ей какое-то понятное название:

  • python3.6 -m venv my_env 

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

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

  • source my_env/bin/activate 

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

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

  • pip install django 

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

  • django-admin --version 

Output2.1


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

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

  • deactivate 

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

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

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

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

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

  • sudo apt update 

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

  • python3 -V 

OutputPython 3.6.5


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

  • sudo apt install python3-pip 

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

  • sudo apt install python3-venv 

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

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

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

  • cd ~/django-dev 

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

  • python3.6 -m venv my_env 

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

  • source my_env/bin/activate 

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

  • pip install -e ~/django-dev 

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

  • django-admin --version 

Output2.2.dev20180802155335


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

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

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

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

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

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

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

  • python3.6 -m venv my_env 

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

  • source my_env/bin/activate 

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

  • pip install django 

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

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

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

  • django-admin startproject djangoproject . 

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

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

  • python manage.py migrate 

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

OutputOperations 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 с помощью следующей команды:

  • sudo ufw allow 8000 

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

  • python manage.py runserver your_server_ip:8000 

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

http://your_server_ip:8000


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

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

http://your_server_ip:8000/admin/


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

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

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

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

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

Заключение

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

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

 
MyTetra Share v.0.65
Яндекс индекс цитирования