Введение
Django – это полнофункциональный веб-фреймворк Python для разработки динамических веб-сайтов и приложений. Используя Django, вы можете быстро создавать веб-приложения на Python и полагаться на фреймворк для выполнения большей части тяжелой работы.
В этом руководстве вы научитесь запускать Django на сервере Ubuntu 22.04. После установки вы создадите новый проект, который будет основой для вашего сайта.
Различные методы
Существуют разные способы установки Django, в зависимости от ваших потребностей и того, как вы хотите настроить свою среду разработки. У каждого из них есть свои преимущества, и один метод может быть более подходящим для вашей конкретной ситуации, чем другие.
Некоторые из различных методов включают:
- Глобальная установка из пакетов: В официальных репозиториях Ubuntu содержатся пакеты Django, которые можно установить с помощью стандартного менеджера пакетов
apt
. Это простой способ, но не такой гибкий, как некоторые другие методы. Кроме того, версия, содержащаяся в репозиториях, может отставать от официальных версий, доступных от проекта. - Установка с помощью
pip
в виртуальной среде: Вы можете создать самодостаточную среду для ваших проектов, используя инструменты вродеvenv
иvirtualenv
. Виртуальная среда позволяет установить Django в каталоге проекта, не затрагивая более крупную систему, а также включить другие настройки и пакеты для каждого проекта. Обычно это самый практичный и рекомендуемый подход к работе с Django. - Установка версии разработки с помощью
git
: Если вы хотите установить последнюю версию разработки вместо стабильного релиза, вы можете получить код из репозитория Git. Это необходимо для получения последних функций/исправлений и может быть сделано в вашей виртуальной среде. Версии разработки не имеют таких же гарантий стабильности, как более стабильные версии, однако.
Предварительные требования
Перед началом вам следует иметь нерутового пользователя с привилегиями sudo, доступного на вашем сервере Ubuntu 22.04. Для этого следуйте нашему руководству по начальной настройке сервера Ubuntu 22.04.
Глобальная установка из пакетов
Если вы хотите установить Django, используя репозитории Ubuntu, процесс очень простой.
Сначала обновите локальный индекс пакетов с помощью apt
:
Затем проверьте, какая версия Python у вас установлена. 22.04 по умолчанию поставляется с Python 3.10, что вы можете проверить, набрав:
Вы должны увидеть вывод подобный этому:
OutputPython 3.10.4
Далее установите Django:
Вы можете проверить успешность установки, набрав:
Output3.2.12
Это означает, что программа была успешно установлена. Вы также можете заметить, что версия Django не является последней стабильной версией. Чтобы узнать больше о том, как использовать программное обеспечение, перейдите к изучению как создать образец проекта.
Установка с помощью pip в виртуальной среде
Самым гибким способом установки Django на вашей системе является установка в виртуальной среде. Мы покажем вам, как установить Django в виртуальной среде, которую мы создадим с помощью модуля venv
, входящего в стандартную библиотеку Python 3. Этот инструмент позволяет создавать виртуальные среды Python и устанавливать пакеты Python без влияния на остальную систему. Таким образом, вы можете выбирать пакеты Python на основе проекта, независимо от конфликтов с требованиями других проектов.
Давайте начнем с обновления локального индекса пакетов:
Проверьте версию установленного Python:
OutputPython 3.10.4
Затем установим pip
и venv
из репозиториев Ubuntu:
Теперь, когда вы начинаете новый проект, вы можете создать виртуальное окружение для него. Начните с создания и перехода в новый каталог проекта:
Затем создайте виртуальное окружение внутри каталога проекта, используя команду python
, совместимую с вашей версией Python. Мы назовем наше виртуальное окружение my_env
, но вы можете назвать его что-то описательное:
Это установит автономные версии Python и pip
в изолированную структуру каталогов внутри вашего каталога проекта. Будет создан каталог с выбранным вами именем, который будет содержать иерархию файлов, где будут установлены ваши пакеты.
Чтобы установить пакеты в изолированной среде, вы должны ее активировать, набрав:
Ваш приглашение командной строки должно измениться, чтобы отразить, что вы теперь в вашем виртуальном окружении. Оно будет выглядеть примерно так: (my_env)username@hostname:~/newproject$
.
В вашей новой среде вы можете использовать pip
для установки Django. Независимо от вашей версии Python, pip
должен вызываться просто как pip
, когда вы находитесь в вашем виртуальном окружении. Также обратите внимание, что вам не нужно использовать sudo
, так как вы устанавливаете локально:
Вы можете проверить установку, набрав:
Output4.0.4
Обратите внимание, что ваша версия может отличаться от показанной здесь.
Для выхода из вашей виртуальной среды вам нужно выполнить команду deactivate
откуда угодно в системе:
Ваш приглашение должно вернуться к обычному отображению. Когда вы захотите снова работать над своим проектом, снова активируйте вашу виртуальную среду, вернувшись в каталог вашего проекта и активировав ее:
Установка разработочной версии с помощью Git
Если вам нужна разработочная версия Django, вы можете скачать и установить Django из его репозитория Git. Давайте сделаем это из виртуальной среды.
Сначала обновим локальный индекс пакетов:
Проверьте версию Python, установленную у вас:
OutputPython 3.10.4
Затем установите pip
и venv
из официальных репозиториев:
Следующим шагом является клонирование репозитория Django. Между релизами этот репозиторий будет содержать более актуальные функции и исправления ошибок за возможную стабильность. Вы можете клонировать репозиторий в каталог с именем ~/django-dev
в вашем домашнем каталоге, набрав:
Перейдите в этот каталог:
Создайте виртуальную среду, используя команду python
, совместимую с установленной версией Python:
Активируйте ее:
Затем вы можете установить репозиторий с помощью pip
. Опция -e
установит его в «редактируемом» режиме, что необходимо при установке из системы контроля версий:
Вы можете проверить успешность установки, набрав:
Output4.0.4.2
Однако отображаемая вами версия может не соответствовать той, что показана здесь.
Теперь у вас есть последняя версия Django в вашем виртуальном окружении.
Создание образца проекта
Установив Django, вы можете начать создание своего проекта. Мы рассмотрим, как создать проект и протестировать его на вашем сервере разработки с использованием виртуальной среды.
Сначала создайте каталог для вашего проекта и перейдите в него:
Затем создайте ваше виртуальное окружение:
Активируйте среду:
Установите Django:
Для создания вашего проекта вы можете использовать django-admin
с командой startproject
. Мы назовем наш проект djangoproject
, но вы можете заменить это другим именем. startproject
создаст каталог внутри вашего текущего рабочего каталога, который будет включать в себя:
- A management script,
manage.py
, which you can use to administer various Django-specific tasks. - A directory (with the same name as the project) that includes the actual project code.
Чтобы избежать слишком многоуровневых каталогов, давайте скажем Django разместить скрипт управления и внутренний каталог в текущем каталоге (обратите внимание на конечную точку):
Для миграции базы данных (в этом примере по умолчанию используется SQLite), давайте используем команду migrate
с manage.py
. Миграции применяют любые изменения, внесенные в ваши модели Django, к схеме вашей базы данных.
Для миграции базы данных введите:
Вы увидите вывод, подобный следующему:
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 auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
Наконец, давайте создадим административного пользователя, чтобы вы могли использовать интерфейс администратора Django. Для этого воспользуйтесь командой createsuperuser
:
Вам будет предложено ввести имя пользователя, адрес электронной почты и пароль для вашего пользователя.
Изменение ALLOWED_HOSTS в настройках Django
Для успешного тестирования вашего приложения вам нужно изменить одну из директив в настройках Django.
Откройте файл настроек, набрав:
Внутри найдите директиву ALLOWED_HOSTS
. Она определяет список адресов или доменных имен, которые могут использоваться для подключения к экземпляру Django. Входящий запрос с заголовком Host, который не находится в этом списке, вызовет исключение. Для предотвращения определённого класса уязвимостей безопасности Django требует установить этот параметр.
В квадратных скобках перечислите IP-адреса или доменные имена, связанные с вашим сервером Django. Каждый элемент должен быть указан в кавычках, а отдельные записи разделяются запятой. Если вы хотите, чтобы запросы для всего домена и всех его поддоменов обрабатывались, добавьте точку в начале записи:
После завершения сохраните файл и закройте редактор.
Тестирование сервера разработки
Как только у вас есть пользователь, вы можете запустить сервер разработки Django, чтобы увидеть, как выглядит новый проект Django. Используйте это только для целей разработки. Когда вы будете готовы к развертыванию, обязательно следуйте рекомендациям Django по развёртыванию внимательно.
Перед тем как запустить сервер разработки, убедитесь, что открыт соответствующий порт в вашем брандмауэре. Если вы следовали руководству по начальной настройке сервера и используете UFW, вы можете открыть порт 8000
, набрав:
Запустите сервер разработки:
Посетите IP-адрес вашего сервера, за которым следует :8000
, в вашем веб-браузере:
http://your_server_ip:8000
Вы должны увидеть что-то похожее на это:
Для доступа к административному интерфейсу добавьте /admin/
в конец вашего URL:
http://your_server_ip:8000/admin/
Это перенаправит вас на экран входа в систему:
Если вы введете имя пользователя и пароль администратора, которые только что создали, вы получите доступ к основному разделу администратора сайта:
Для получения дополнительной информации о работе с административным интерфейсом Django, пожалуйста, ознакомьтесь с руководством «Как включить и подключить интерфейс администратора Django».
Когда вы закончите просмотр базового сайта, вы можете остановить сервер разработки, набрав CTRL-C
в вашем терминале.
Созданный вами проект Django обеспечивает структурную основу для создания более полного сайта. Ознакомьтесь с документацией Django для получения дополнительной информации о том, как создавать ваши приложения и настраивать ваш сайт.
Заключение
Теперь у вас должен быть установлен Django на вашем сервере Ubuntu 22.04, обеспечивая основные инструменты, необходимые для создания мощных веб-приложений. Вы также должны знать, как начать новый проект и запустить сервер разработки. Использование полного веб-фреймворка, такого как Django, может помочь ускорить разработку, позволяя вам концентрироваться только на уникальных аспектах ваших приложений.
Если вы хотите получить больше информации о работе с Django, включая подробные обсуждения таких вещей, как модели и представления, пожалуйста, посетите нашу серию разработки Django.