Web технологии

10. MVC фреймворки (2)

Дмитрий Смаль

Django Views

Django Views

Контроллеры в Django - это обычные функции, которые:

Django Views

Захват параметров из URL

Захват параметров из URL (2)

HttpRequest и HttpResponse

HttpRequest

HttpResponse

Специальные типы ответов

Получение GET и POST параметров

GET и POST - объекты QueryDict

/path/?id=3&id=4&id=5

Получение множественных значений Сериализация

Получение и установка HTTP заголовков

Получение и установка Cookie

Декораторы

Декораторы в Python

Декоратор – функция, преобразующая одну функцию в другую.

Декораторы в Django

Шаблонизация

Неправильный подход

Правильный подход

Необходимо отделить данные (контекст) от представления (шаблона). Для этого используются шаблонизаторы.

Синтаксис шаблонов

Вызов шаблонизатора

Возможности шаблонизатора

Доступ к свойствам и методам

Через точку можно получить свойство, метод, ключ либо индекс объекта: Передавать параметры методам запрещено:

Особенности шаблонизатора

Наследование шаблонов

Базовый шаблон base.html

Шаблон главной страницы

Context processors

Context processors

Context processors - это функции, которые вызываются перед отрисовкой шаблона и могут добавить данных в контекст.

Настройка TEMPLATE_CONTEXT_PROCESSORS:

Когда не вызываются context processors ?

render(request, template_name, context) - вызывает.

render_to_response(template_name, context) - не вызывает.