18.3. Django API:
при написании кода для работы с данными проекта вы создаете за-
прос. Просмотрите документацию по созданию запросов к данным по адресу
https://docs .
djangoproject .com/en/2 .2/topics/db/queries/
. Многое из того, что вы увидите, покажется вам
новым, но эта информация пригодится, когда вы начнете работать над собственными про-
ектами.
18.4. Пиццерия:
создайте новый проект с именем
pizzeria
, содержащий приложение
pizzas
. Определите модель
Pizza
с полем
name
, в котором хранятся названия видов пиццы
(например, «Гавайская» или «Четыре сыра»). Определите модель
Topping
с полями
pizza
и
name
. Поле
pizza
должно содержать внешний ключ к модели
Pizza
, а поле name должно
позволять хранить такие значения, как «ананас» или «грибы».
Зарегистрируйте обе модели на административном сайте. Используйте сайт для ввода на-
званий пиццы и топпингов. Изучите введенные данные в интерактивной оболочке.
Создание страниц: домашняя страница Learning Log
Обычно процесс создания веб-страниц в Django состоит из трех стадий: опреде-
ления URL, написания представлений и написания шаблонов. Сначала следует
определить
схемы
(patterns) URL. Схема URL описывает структуру URL-адреса
и сообщает Django, на какие компоненты следует обращать внимание при сопо-
ставлении запроса браузера с URL-адресом на сайте, чтобы выбрать возвращаемую
страницу.
Затем каждый URL-адрес связывается с конкретным
представлением
— функция
представление читает и обрабатывает данные, необходимые странице. Функция
представления часто вызывает
шаблон
, который строит страницу, подходящую для
передачи браузеру. Чтобы вы лучше поняли, как работает этот механизм, создадим
домашнюю страницу для приложения Learning Log. Мы определим URL-адрес
домашней страницы, напишем для него функцию представления и создадим про-
стой шаблон.
Начало работы над приложением
409
Так как мы сейчас всего лишь убеждаемся в том, что Learning Log работает как по-
ложено, страница пока останется простой. Когда приложение будет завершено, вы
можете заниматься его оформлением сколько душе угодно; приложение, которое
хорошо выглядит, но не работает, бессмысленно. Пока на домашней странице будет
отображаться только заголовок и краткое описание.
Сопоставление URL
Пользователь запрашивает страницы, вводя URL-адреса в браузере и щелкая на
ссылках, поэтому мы должны решить, какие URL-адреса понадобятся в нашем
проекте. Начнем с URL домашней страницы: это базовый адрес, используемый для
обращения к проекту. На данный момент базовый URL-адрес
http://localhost:8000/
возвращает сайт, сгенерированный Django по умолчанию; он сообщает о том, что
проект был создан успешно. Мы изменим домашнюю страницу, связав базовый
URL-адрес с домашней страницей Learning Log.
В каталоге проекта
learning_log
откройте файл
urls .py
. Вы увидите в нем следу-
ющий код:
urls.py
❶
from django.contrib import admin
from django.urls import path
❷
urlpatterns = [
❸
path('admin/', admin.site.urls),
]
Первые две строки импортируют функции и модули, управляющие URL-адресами
проекта и административным сайтом
. В теле файла определяется переменная
urlpatterns
. В файле
urls .py
, представляющем проект в целом, переменная
urlpatterns
включает наборы URL-адресов из приложений в проект. Код
включает модуль
admin.site.urls
, определяющий все URL-адреса, которые могут
запрашиваться с административного сайта.
Добавим в этот файл URL-адреса
learning_logs
:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
❶
path('', include('learning_logs.urls')),
]
В точке
добавляется строка включения модуля
learning_logs.urls
.
Файл
urls .py
по умолчанию находится в каталоге
learning_log
; теперь нужно создать
второй файл
urls .py
в папке
learning_logs
. Создайте новый файл Python, сохраните
его под именем
urls .py
в
learning_logs
и включите в него следующий код:
|