Django 5 для начинающих

Прогресс по курсу:  9/1004

2.3 Установка Django и создание проекта HelloWorld
3 из 8 шагов пройдено
0 из 6 баллов  получено

Структура проекта и миграции

Давайте остановимся на мгновение, чтобы рассмотреть структуру проекта по умолчанию, которую 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 непосредственно в нашей папке проекта:


  • Комментария
Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий

Не модуль, а пакет:

  • __init__.py: пустой файл, который сообщает Python, что каталог Cource_FirstProject нужно трактовать как модуль Python;

->

  • __init__.py: пустой файл, который сообщает Python, что каталог Cource_FirstProject нужно трактовать как пакет Python;
Изменен Garry Veles

@Garry_Veles, спасибо, поправил.

Возможно кто-то столкнется с такой же проблемой - оказалось что после запуска сервера в терминале нельзя писать команды, то есть чтобы потом прописать создание миграций нужно остановить сервер или открыть новую вкладку терминала.

 

Нейросеть:

После того, как ты запустил сервер Django в терминале PyCharm, ты не можешь писать в нем другие команды, потому что терминал занят процессом сервера. Это нормальное поведение, так как сервер должен постоянно слушать и обрабатывать запросы от браузера

Изменен Георгий Тимофеев

@Георгий_Тимофеев, да, тоже с этим столкнулся. Но великий Ctrl C решает эту проблему)

@Георгий_Тимофеев,  в PyCharm можно еще один терминал открыть и все работает)