Программа курса:
Структура проекта и миграции
Давайте остановимся на мгновение, чтобы рассмотреть структуру проекта по умолчанию, которую Django предоставил нам. При желании вы можете изучить ее визуально, открыв проект например в PyCharm.
Каталог .venv
может быть изначально не виден, потому что он "скрыт", но, тем не менее, он там есть:
Структура проекта выглядит так:
Cource_FirstProject/
: это папка является контейнером проекта, который состоит из следующих ниже файлов:__init__.py
: пустой файл, который сообщает Python, что каталогCource_FirstProject
нужно трактовать как пакет Python.asgi.py
: с помощью этого файла приложение может работать с веб-сервером по протоколу ASGI.settings.py
: с помощью этого файла задаётся конфигурация проекта. После создания проекта в этом файле содержатся значения настроечных параметров по умолчанию.urls.py
: в этом файле располагаются шаблоны ваших URL-адресов. Каждый URL-адрес, определённый в этом файле, сопоставляется с представлением для него.wsgi.py
: с помощью этого файла приложение может работать с веб-сервером по протоколу WSGI.
manage.py
: это утилита командной строки, используемая для взаимодействия с проектом. Редактировать этот файл не требуется;.venv
: это созданный каталог с нашим виртуальным окружением.
Давайте еще раз запустим наш проект.
python manage.py runserver
Обратите внимание на выделенный текст о 18 не применённых миграциях. Давайте попробуем разобраться с этим:
Для того чтобы была возможность хранить данные, приложениям Django необходима база данных.
Упомянутый выше файл настроек settings.py
содержит конфигурацию базы данных проекта в настроечном параметре DATABASES
.
Изначально конфигурацией предусматривается использование базы данных SQLite3, если не указана иная. SQLite идет в комплекте с Python3 и может применяться в любом приложении Python.
SQLite это облегченная база данных, которую можно использовать с Django для разработки.
Если вы планируете развернуть свое приложение в производственной среде, то вам следует использовать полнофункциональную базу данных, такую как PostgreSQL, MySQL или Oracle.
Более подробная информация о совместной работе базы данных с Django содержится по адресу .
Файл settings.py
также содержит настроечный параметр INSTALLED_APPS
, в списке которого содержатся стандартные приложения Django, которые по умолчанию будут добавлены в ваш проект. Эти приложения мы рассмотрим в следующей лекции.
Приложения Django содержат модели данных, которые соотносятся с таблицами базы данных. Далее, в уроке 5.2 «Создание моделей данных блога мы создадим свои собственные модели.
Для того чтобы завершить настройку проекта, необходимо создать таблицы, ассоциированные с моделями стандартных приложений Django, включенных в состав параметра INSTALLED_APPS
.
Django поставляется вместе с системой, которая помогает управлять миграциями баз данных.
Откроем командную строку в PyCharm и применим миграции:
# Windows
python manage.py migrate
# macOS
python3 manage.py migrate
Что здесь сделал Django, так это создал базу данных SQLite3 с таблицами для встроенных приложений, предоставленные нам. База данных представлена новым файлом db.sqlite3
, который появился непосредственно в нашей папке проекта: