Представление topics

We use cookies. Read the Privacy and Cookie Policy

Функция topics() должна получать данные из базы данных и отправлять их шаблону. Обновленная версия views.py выглядит так:

views.py

from django.shortcuts import render

(1) from .models import Topic

def index(request):

...

(2)def topics(request):

. ."""Выводит список тем."""

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

(4) . .context = {'topics': topics}

(5) . .return render(request, 'learning_logs/topics.html', context)

Сначала импортируется модель, связанная с нужными данными (1) . Функции topics() необходим один параметр: объект запроса, полученный Django от сер­вера (2). В точке (3) выдается запрос к базе данных на получение объектов Topic, отсортированных по атрибуту date_added. Полученный итоговый набор сохраняется в topics.

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