如何检查请求的用户是否在 Django Rest Framework 中具有特定的自定义权限?
How to check if a requested user has a specific custom permission in Django Rest Framework?
如果请求的用户具有 permissions.py 中定义的权限,我想检查 True/False 的布尔答案。
更具体地说,我想检查请求的用户是否具有 IsDriver 的权限。有什么可能吗?
class ExampleViewSet(viewsets.ModelViewSet):
permission_classes = [IsChargingStationOwner |IsDriver | IsReadOnlyStations]
serializer_class = ExampleSerializer
def get_queryset(self):
# get the request user
requested_user = self.request.user
if requested_user.is_anonymous :
print('1')
elif requested_user .... :
print('2')
我的问题与 elif 语句有关。
创建继承
的自定义权限class
rest_framework.permissions.BasePermission
检查 DRF 权限文档
here
如果您想在任何方法中再次调用它,您可以使用@gtopal 方法:
elif IsDriver().has_permission(self.request, self):
print('2')
如果请求的用户具有 permissions.py 中定义的权限,我想检查 True/False 的布尔答案。
更具体地说,我想检查请求的用户是否具有 IsDriver 的权限。有什么可能吗?
class ExampleViewSet(viewsets.ModelViewSet):
permission_classes = [IsChargingStationOwner |IsDriver | IsReadOnlyStations]
serializer_class = ExampleSerializer
def get_queryset(self):
# get the request user
requested_user = self.request.user
if requested_user.is_anonymous :
print('1')
elif requested_user .... :
print('2')
我的问题与 elif 语句有关。
创建继承
的自定义权限classrest_framework.permissions.BasePermission
检查 DRF 权限文档 here
如果您想在任何方法中再次调用它,您可以使用@gtopal 方法:
elif IsDriver().has_permission(self.request, self):
print('2')