Некоторые отличия декоратора @permission_required
и mixin PermissionRequiredMixin
в Django:
@permission_required
используется для функций-просмотров, а PermissionRequiredMixin
— для классов-просмотров. 12 @permission_required
перенаправляет на страницу входа (статус HTTP — 302), а PermissionRequiredMixin
возвращает ошибку 403 (статус HTTP — Forbidden). 12 PermissionRequiredMixin
позволяет указывать несколько разрешений с помощью параметра permission_required
. 25 PermissionRequiredMixin
можно комбинировать с другими миксинами (например, LoginRequiredMixin) для установки нескольких требований аутентификации и авторизации. 3