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