Выбор ответа Middle Django REST Framework обновлено

Права по умолчанию в DRF

Вопрос

Какое значение DEFAULT_PERMISSION_CLASSES у DRF, если его не задать?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: AllowAny: все эндпоинты открыты, пока права не заданы явно. По умолчанию DRF разрешает всё, поэтому забытый permissionclasses на новом вьюсете открывает данные.

Варианты ответа

  1. IsAuthenticated: без входа доступны только OPTIONS-запросы
  2. IsAdminUser: открыто только для is_staff, пока не задано иначе
  3. DenyAll: все эндпоинты закрыты, пока права не заданы явно
  4. AllowAny: все эндпоинты открыты, пока права не заданы явноправильный ответ

Разбор

По умолчанию DRF разрешает всё, поэтому забытый permission_classes на новом вьюсете открывает данные. Безопасная практика: в настройках поставить IsAuthenticated по умолчанию, а публичные эндпоинты открывать явно через AllowAny.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.