Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django DRF的默认权限类_Django_Django Rest Framework - Fatal编程技术网

Django DRF的默认权限类

Django DRF的默认权限类,django,django-rest-framework,Django,Django Rest Framework,Django rest框架目前有IsAdminUser作为权限类,是否也有相应的isownerAdminUser?有什么影响吗?如果当前用户是创建对象的用户,那么似乎应该存在只允许对象具有CRUD功能的东西。我将DRF与djangorestframework jwt一起使用您可以在中找到rest框架权限的完整列表。只有对模型具有添加、更改和删除权限的用户才能使用安全方法。 如果不符合您的要求,您可以实现自己的权限类,如下所示: class IsOwnerOrReadOnly(permission

Django rest框架目前有
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, )