自定义权限-新建立permissions.py
from rest_framework import permissions
class IsOwnerOrReadOnly(permissions.BasePermission):
"""
自定义权限只允许对象的所有者编辑它。
"""
def has_object_permission(self, request, view, obj):
# 读取权限允许任何请求,
# 所以我们总是允许GET,HEAD或OPTIONS请求。
if request.method in permissions.SAFE_METHODS:
return True
# 只有该snippet的所有者才允许写权限。
return obj.operator == request.user
VIEWS使用
# 权限相关
from rest_framework.permissions import (
IsAuthenticatedOrReadOnly
)
from dev.permissions import IsOwnerOrReadOnly # 自定义权限类
#permission_classes = (IsAuthenticated,) # 必须是一个认证的用户
permission_classes = (IsAuthenticatedOrReadOnly, ) # 使用自定的权限类