📝 Задания — Урок 38

← К оглавлению урока

⚡ Вопросы из лекции

5 вопросов на проверку знания классов пагинации и конфигурации LOGGING. Ответы — в решениях.

Вопросы для закрепления

Задания из лекции. Ответы — в решениях.

Вопрос 1: Классы пагинации

Сопоставьте классы пагинации с их характеристиками:

  1. LimitOffsetPagination
  2. CursorPagination
  3. PageNumberPagination

Характеристики:

  • a) Пагинация с использованием номера страницы и размера страницы.
  • b) Пагинация с использованием параметров limit и offset.
  • c) Пагинация с использованием курсора для стабильной навигации.

Вопрос 2: page_size_query_param

Какой параметр позволяет клиентам указывать размер страницы через запрос при использовании PageNumberPagination?

  • a) page_size_query_param
  • b) ordering
  • c) search_fields
  • d) default_limit

Вопрос 3: Глобальная пагинация

Какие параметры нужно добавить в settings.py, чтобы использовать LimitOffsetPagination глобально в проекте?

  • a) DEFAULT_PAGINATION_CLASS и PAGE_SIZE
  • b) DEFAULT_FILTER_BACKEND и DEFAULT_PAGE_SIZE
  • c) DEFAULT_CURSOR и DEFAULT_PAGE_NUMBER
  • d) DEFAULT_ORDERING и DEFAULT_LIMIT

Вопрос 4: Класс FileHandler

Какой класс используется для записи логов в файл в настройках логирования Django?

  • a) FileLogHandler
  • b) StreamLogHandler
  • c) FileHandler
  • d) StreamHandler

Вопрос 5: Уровень логирования SQL

Какой уровень логирования следует использовать для записи всех SQL-запросов?

  • a) INFO
  • b) DEBUG
  • c) WARNING
  • d) ERROR

Вопрос 6 (практический): Напишите код

Настройте CursorPagination глобально для проекта. Условия:

  • Не более 6 объектов на странице
  • Поле сортировки — created_at
  • Кастомный класс в файле myapp/pagination.py

Напишите содержимое pagination.py и соответствующий блок REST_FRAMEWORK в settings.py.