Зачем нужен Permission class
Python
Middle
Без компании
Зачем нужен Permission class
Ответы
Класс `Permission` в Django REST framework используется для управления доступом к API. Он определяет, имеет ли пользователь право выполнять определённые действия (GET, POST, PUT, DELETE и т.д.) на конкретном эндпоинте.
Пример:
```
from rest_framework.permissions import BasePermission
class IsAdminOrReadOnly(BasePermission):
def has_permission(self, request, view):
if request.method in ['GET', 'HEAD', 'OPTIONS']:
return True
return request.user and request.user.is_staff
```
**Зачем нужен:**
- **Гибкость** – можно кастомизировать логику проверки прав.
- **Безопасность** – ограничивает доступ к критичным операциям.
- **Читаемость** – явно указывает, кто и что может делать.
Используется в `permission_classes` во ViewSet или APIView.