Как установить Django Web Framework на 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 +:

sudo apt update

Затем проверьте, какая версия Python установлена. 18.04 поставляется с Python 3.6 по умолчанию, что можно проверить, набрав:

python3 -V

Вы должны увидеть результат примерно так:

OutputPython

Далее установите Django:

sudo apt install python3-django

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

django-admin --version
Output

Это означает, что программное обеспечение было успешно установлено. Вы также можете заметить, что версия Django не является последней стабильной версией. Чтобы узнать больше о том, как использовать программное обеспечение, перейдите вперед, чтобы узнать https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-18-04# create-a-sample-project [как создать пример проекта].

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

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

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

sudo apt update

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

python3 -V
OutputPython

Теперь давайте установим + pip + из репозиториев Ubuntu:

sudo apt install python3-pip

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

sudo apt install python3-venv

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

mkdir ~/
cd ~/

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

python3 -m venv

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

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

source /bin/activate

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

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

pip install django

Вы можете проверить установку, набрав:

django-admin --version
Output

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

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

deactivate

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

cd ~/
source /bin/activate

Версия для разработки Установите с Git

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

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

sudo apt update

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

python3 -V
OutputPython

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

sudo apt install python3-pip

Установите пакет + venv + для создания вашей виртуальной среды:

sudo apt install python3-venv

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

git clone git://github.com/django/django ~/

Перейдите в этот каталог:

cd ~/

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

python3 -m venv

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

source /bin/activate

Далее вы можете установить репозиторий, используя + pip +. Опция + -e + установит в «редактируемом» режиме, что необходимо при установке из системы контроля версий:

pip install -e ~/

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

django-admin --version
Output

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

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

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

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

Сначала создайте каталог для вашего проекта и измените на него:

mkdir ~/
cd ~/

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

python3 -m venv

Активировать среду:

source /bin/activate

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

pip install django

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

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

  • Каталог (с тем же именем, что и у проекта), который содержит реальный код проекта.

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

django-admin startproject  .

Чтобы перенести базу данных (в этом примере по умолчанию используется SQLite), давайте использовать команду + migrate + с + manage.py +. Migrations применяет любые изменения, внесенные в ваш Django, https://www.digitalocean.com/community/tutorials/how-to-create -django-models [models] для вашей схемы базы данных.

Чтобы перенести базу данных, введите:

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

Наконец, давайте создадим пользователя с правами администратора, чтобы вы могли использовать интерфейс администратора Djano. Давайте сделаем это с помощью команды + createuperuser +:

python manage.py createsuperuser

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

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

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

Откройте файл настроек, набрав:

nano ~///settings.py

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

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

~ / Джанго-тест / djangoproject / settings.py

. . .
ALLOWED_HOSTS = ['', '', ]

Когда вы закончите, сохраните файл и выйдите из редактора.

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

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

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

sudo ufw allow 8000

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

python manage.py runserver :8000

Перейдите на IP-адрес вашего сервера, а затем в браузере введите «+: 8000 +»:

http://:8000

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

изображение: https: //assets.digitalocean.com/articles/django_install_18_04/django_landing_page_18_04.png [общедоступная страница Django]

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

http://:8000/admin/

Это приведет вас к экрану входа в систему:

изображение: https: //assets.digitalocean.com/articles/eng_python/django/django-admin-login.png [логин администратора Django]

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

изображение: https: //assets.digitalocean.com/articles/eng_python/django/django-admin-panel.png [страница администратора Django]

Для получения дополнительной информации о работе с интерфейсом администратора Django см. Https://www.digitalocean.com/community/tutorials/how-to-enable-and-connect-the-django-admin-interface[- «Как включить» и Подключите интерфейс администратора Django ».]

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

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

Заключение

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

Если вам нужна дополнительная информация о работе с Django, включая подробное обсуждение таких вещей, как models и https: // www.digitalocean.com/community/tutorials/how-to-create-django-views[views], пожалуйста, смотрите нашу Django серию разработки.

Related