Курс по 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