Установка Django. Создание проекта

Курс по Django: https://stepik.org/a/183363

Архив проекта: 02_sitewomen.zip

На этом занятии мы выполним установку фреймворка Django на свой домашний компьютер. Существует несколько вариантов установки, но мы воспользуемся наиболее распространенным – установим официальный релиз в виртуальное окружение (venv). Давайте я поясню, что означают эти «умные фразы». Как вы уже догадались, Django – это серьезный фреймворк и часто он взаимодействует с другими пакетами языка Python, да и сама версия Python может иметь значение. Так вот, чтобы все модули согласованно работали и выдавали ожидаемые результаты на запросы пользователей, желательно и на тестовом сервере и на реальном использовать одни и те же версии программных продуктов: начиная с выбранной версии Django и заканчивая определенной версией интерпретатора языка Python.

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

Для этого нам понадобится установленный интерпретатор Python в глобальном окружении и работа с командной строкой. Если Python у вас еще не установлен, то скачайте его с официального сайта:

https://www.python.org/downloads/

Далее, я буду все показывать на примере ОС Windows, т.к. именно под ней работаю. На Linux и MacOS все происходит похожим образом, но есть отличия. Основные из них я буду отмечать по ходу изложения. Итак, чтобы работать с командной строкой Windows, можно нажать комбинацию клавиш Win+R и в появившемся окне набрать команду cmd. Если все сделаете правильно, то появится вот такое консольное окно:

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

python -V

(В Linux или MacOS при установке Python версии 3 следует использовать команду python3 -V).

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

pip list

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

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

D:\Python\Projects\django

И в командной строке перейду в этот каталог:

cd D:\Python\Projects\django

Затем, выполняем команду:

python -m venv djvenv

для создания виртуального окружения с именем djvenv в текущей папке. (Если вы работаете под Linux, то соответственно пишете команду python3). Все, виртуальное окружение создано, и мы видим дополнительную папку djvenv. Внутри нее имеются различные вложенные каталоги, которые и определяют содержимое данного окружения. Осталось его запустить. Находясь в папке D:\Python\Projects\django, выполним команду:

.\djvenv\Scripts\activate

(Если вы работаете под Linux, то выполняется команда source djvenv/bin/activate). В действительности, мы тем самым запускаем исполняемый файл activate, который находится в подкаталоге \djvenv\Scripts\. В результате должна появиться надпись (djvenv), означающая, что мы находимся в виртуальном окружении с именем djvenv. Если теперь выполнить команду:

pip list

то увидим всего два пакета: сам pip и setuptools. То есть, это чистое виртуальное окружение, в котором два пакета и интерпретатор языка Python.

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

deactivate

и мы возвращаемся в глобальное окружение.

Установка Django

Теперь у нас все готово для установки самого фреймворка Django в виртуальное окружение. Так как я в своей работе использую интегрированную среду PyCharm, то дальнейшие действия по работе с виртуальным окружением буду делать через нее. Уверен, что большинство из вас тоже пользуются PyCharm, поэтому все должно быть предельно понятно. Итак, открываем созданный проект, указав папку:

D:\Python\Projects\django

и после индексирования всех файлов интегрированная среда автоматически активизирует установленное виртуальное окружение. Если по каким-то причинам это не произошло, то нужно вручную указать PyCharm это окружение. Для этого следует перейти на вкладку Project Interpreter:

File -> Settings -> Project:django -> Project Interpreter

и указать интерпретатор из установленного окружения.

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

pip install django==4.2.1

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

pip list

то увидим указанную версию Django и несколько дополнительных пакетов, необходимых для его работы.

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

django-admin

Так вот, для создания нашего первого сайта, нам понадобится команда startproject, которая записывается так:

django-admin startproject <имя сайта>

Здесь «имя сайта», обычно, является доменным именем. Например, если мы собираемся располагать сайт на домене:

sitewomen.ru

то в качестве имени логично выбрать sitewomen. Давайте так и сделаем, выполним команду:

django-admin startproject sitewomen

И фреймворк создал папку sitewomen в рабочей папке проекта. Внутри этой папки имеется одноименная вложенная папка пакета, который определяет конфигурацию нашего сайта. Поэтому его часто так и называют – пакетом конфигурации. Также есть еще один отдельный файл manage.py, через который и производится управление данным сайтом. Например, мы будем создавать приложение, выполнять миграции БД, запускать тестовый веб-сервер и так далее. В действительности, это всего лишь своеобразная утилита, посредник, который передает наши команды django-admin и выполняет их «от лица» нашего сайта. Подробнее обо всем этом мы еще будем говорить.

Давайте теперь запустим тестовый веб-сервер на нашем локальном компьютере и убедимся, что созданный сайт работает. Для этого перейдем в папку sitewomen:

cd sitewomen

и выполним файл manage.py с командой runserver:

python manage.py runserver

Происходит запуск локального веб-сервера, который поставляется вместе с Django, и наш сайт должен быть доступен по адресу http://127.0.0.1:8000.

Преимущество отладочного сервера в том, что он автоматически перезапускается при изменении программы сайта. На практике это дает большое удобство. Но полностью полагаться на эту возможность не стоит, так как иногда Django все же игнорирует изменения, а точнее, новые дополнения, например, новые созданные файлы. Поэтому, если вы видите, что что-то работает не так, попробуйте просто перезапустить сервер вручную. Для его завершения достаточно нажать комбинацию клавиш:

Ctrl + Break (а также Ctrl + C в Windows)

а, затем, снова запустить:

python manage.py runserver

Также обратите внимание, что при первом запуске сервера в проекте появился еще один файл db.sqlite3 – файл БД SQLite3. Дело в том, что по умолчанию Django использует именно такую СУБД. В дальнейшем, мы можем это изменить и указать любую другую СУБД, которую поддерживает данный фреймворк. Это может быть:

PostgreSQL, MariaDB, MySQL, Oracle и SQLite

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

python manage.py runserver 4000

или так:

python manage.py runserver 192.168.1.1:4000

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

Курс по Django: https://stepik.org/a/183363

Видео по теме