М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет304/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   300   301   302   303   304   305   306   307   ...   334
Байланысты:
Изучаем Python


Глава 18 • Знакомство с Django
Мы просто добавили 
topics/
в аргумент регулярного выражения, используемый 
с URL-адресом домашней страницы 

. Когда Django проверяет запрашиваемый 
URL-адрес, эта схема совпадет с любым URL-адресом, который состоит из базового 
URL-адреса и слова 
topics
. Слеш в конце можно включить, а можно не включать, 
но после слова 
topics
ничего быть не должно, иначе схема не совпадет. Любой 
запрос с URL-адресом, соответствующим этой схеме, будет передан функции 
topics()
в 
views .py
.
Представление topics
Функция 
topics()
должна получать данные из базы данных и отправлять их ша-
блону. Обновленная версия 
views .py
выглядит так:
views.py
from django.shortcuts import render

from .models import Topic
def index(request):
...

def topics(request):
"""Выводит список тем."""

topics = Topic.objects.order_by('date_added')

context = {'topics': topics}

return render(request, 'learning_logs/topics.html', context)
Сначала импортируется модель, связанная с нужными данными 

. Функции 
topics()
необходим один параметр: объект 
request
, полученный Django от серве-
ра 

. В точке 

выдается запрос к базе данных на получение объектов 
Topic
, от-
сортированных по атрибуту 
date_added
. Полученный итоговый набор сохраняется 
в 
topics
.
В точке 

определяется контекст, который будет передаваться шаблону. 
Контекст
представляет собой словарь, в котором ключами являются имена, используемые 
в шаблоне для обращения к данным, а значениями — данные, которые должны пере-
даваться шаблону. В данном случае существует всего одна пара «ключ-значение», 
которая содержит набор тем, отображаемых на странице. При построении стра-
ницы, использующей данные, функции 
render()
передается переменная 
context

а также объект 
request
и путь к шаблону 

.
Шаблон topics
Шаблон страницы со списком тем получает словарь 
context
, чтобы шаблон мог 
использовать данные, предоставленные 
topics()
. Создайте файл с именем 
topics .
html
в одном каталоге с 
index .html
. Вывод списка тем в шаблоне осуществляется 
следующим образом:


Построение других страниц


Достарыңызбен бөлісу:
1   ...   300   301   302   303   304   305   306   307   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет