Django DRF的默认权限类
Django rest框架目前有Django DRF的默认权限类,django,django-rest-framework,Django,Django Rest Framework,Django rest框架目前有IsAdminUser作为权限类,是否也有相应的isownerAdminUser?有什么影响吗?如果当前用户是创建对象的用户,那么似乎应该存在只允许对象具有CRUD功能的东西。我将DRF与djangorestframework jwt一起使用您可以在中找到rest框架权限的完整列表。只有对模型具有添加、更改和删除权限的用户才能使用安全方法。 如果不符合您的要求,您可以实现自己的权限类,如下所示: class IsOwnerOrReadOnly(permission
IsAdminUser
作为权限类,是否也有相应的isownerAdminUser
?有什么影响吗?如果当前用户是创建对象的用户,那么似乎应该存在只允许对象具有CRUD功能的东西。我将DRF与djangorestframework jwt一起使用您可以在中找到rest框架权限的完整列表。只有对模型具有添加、更改和删除权限的用户才能使用安全方法。
如果不符合您的要求,您可以实现自己的权限类,如下所示:
class IsOwnerOrReadOnly(permissions.BasePermission):
def has_object_permission(self, request, view, obj):
if request.method in permissions.SAFE_METHODS:
return True
return obj.owner == request.user or request.user.is_superuser
此方法已记录在案。您可以在中找到rest框架权限的完整列表。只有对模型具有添加、更改和删除权限的用户才能使用安全方法。 如果不符合您的要求,您可以实现自己的权限类,如下所示:
class IsOwnerOrReadOnly(permissions.BasePermission):
def has_object_permission(self, request, view, obj):
if request.method in permissions.SAFE_METHODS:
return True
return obj.owner == request.user or request.user.is_superuser
此方法已记录在案。permissions.py
views.py
权限.py
views.py
您需要对象级别的权限吗?这很理想您说的是
IsownerAdminUser
。哪个用户?创建对象的用户您必须实现基于对象的权限。您需要对象级别的权限吗?这很理想您说的是IsownerAdminUser
。创建对象的用户您必须实现基于对象的权限。
from .permissions import IsOwnerOrAdminUser
class UserAPIView(APIView):
permission_classes = (IsOwnerOrAdminUser, )