Вступление
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 серию разработки.