Найти в Дзене

Запускаем приложение на Django по учебнику, часть 4

В прошлом посте «Запускаем приложение на Django по учебнику, часть 3,5» следуя советам учебника я описал две модели Question и Choice. Теперь необходимо подключить приложение polls (web в моем случае) к проекту. Для этого необходимо открыть файл settings.py и добавить в словарь INSTALLED_APPS — polls.apps.PollsConfig . Ходят легенды, что если в указанный словарь добавить просто наименование приложения, к примеру polls, то оно все равно подключится. После этого в терминале, перейдя в папку проекта, выполним команду — python manage.py makemigrations polls. Команда makemigrations вносит изменения в модели. В моем случае выполнив makemigrations я создал в своей базе данных две новые модели Question и Choice. После этого выполним команду — python manage.py migrate, которая сохраняет внесенные изменения в базу данных. После того как я создал и сохранил в базе данных модели Question и Choice, учебник предлагает отправиться в dungeon(подземелье/данж) под названием API базы данных. Созданн

В прошлом посте «Запускаем приложение на Django по учебнику, часть 3,5» следуя советам учебника я описал две модели Question и Choice.

Теперь необходимо подключить приложение polls (web в моем случае) к проекту. Для этого необходимо открыть файл settings.py и добавить в словарь INSTALLED_APPS — polls.apps.PollsConfig . Ходят легенды, что если в указанный словарь добавить просто наименование приложения, к примеру polls, то оно все равно подключится. После этого в терминале, перейдя в папку проекта, выполним команду — python manage.py makemigrations polls. Команда makemigrations вносит изменения в модели. В моем случае выполнив makemigrations я создал в своей базе данных две новые модели Question и Choice. После этого выполним команду — python manage.py migrate, которая сохраняет внесенные изменения в базу данных.

После того как я создал и сохранил в базе данных модели Question и Choice, учебник предлагает отправиться в dungeon(подземелье/данж) под названием API базы данных.

Сокровищ полно, но помни об одном... Не трогай свечку!
Сокровищ полно, но помни об одном... Не трогай свечку!

Созданные модели представляют собой только набор заданных полей. У меня все еще нет ни одного вопроса и ответа необходимых для того чтобы узнать какой класс в World of Warcraft Classic самый лучший. Именно для этого существует API базы данных. После создания модели данных, Django автоматически предоставляет API-интерфейс для базы данных, который позволяет создавать, извлекать, обновлять и удалять объекты. Подробно о работе с API базы данных можно прочитать тут.

Чтобы войти в уже упомянутый dungeon необходимо выполнить команду — python manage.py shell.

Да, shell и shall совершенно разные слова, но не смог удержаться.
Да, shell и shall совершенно разные слова, но не смог удержаться.

Внутри shell я написал примерно следующий код:

Было не просто, но я справился.
Было не просто, но я справился.

Я уже говорил, что мое приложение называется web, a не polls, поэтому я импортирую модели из web.models. После этого я импортирую timezone поскольку модель Question содержит поле pud_date и в учебнике предлагают его заполнить timezone.now().

Question.objects.all() показывает все объекты модели Question и как мы видим созданный мной вопрос отображается как Question object (3). Чтобы это исправить отображение объекта необходимо внести изменения в файл с моделями. Дописал код в файле models следующим образом:

Сразу же добавил функцию was_published_recently о которой речь пойдет дальше.
Сразу же добавил функцию was_published_recently о которой речь пойдет дальше.

При выполнении команды Question.objects.all() в shell существующий объект Question будет называться What is the best class in World of Warcraft? Затем согласно учебнику добавляю функцию was_published_recently.

Возвращаемся в shell и добавляем объекты Choice.

"В руки возьму топор я побольше, сделаю чардж и жизнь станет проще..."
"В руки возьму топор я побольше, сделаю чардж и жизнь станет проще..."

Если я все сделал правильно, то сейчас у меня есть один объект модели Question — What is the best class in World of Warcraft? И девять объектов Choice с наименованиями классов World of Warcraft.

Kirninn уровень 2.

Умения:

Python 25 из over 1000000
Django 5 из over 1000000
HTML, CSS 1 из over 1000000
Способности:
Знание законодательства РФ (бесполезно для программирования)
Снаряжение: учебник Марка Лутца «Изучаем Python», Atom, ConEmu
Онлайн курс «Профессия Python программист» завершен.
Онлайн курс «Python: основы и применение» завершен.
Онлайн курс «Программирование на Python» завершен