【问题标题】:Django rest IsAdminUser not appliedDjango rest IsAdminUser 未应用
【发布时间】:2017-08-08 06:07:48
【问题描述】:

我的 views.py 中有以下内容,

from webapi.models import members
from rest_framework import permissions
from webapi.serializers import MemberSerializer
from rest_framework import generics



class MemberList(generics.ListAPIView):
    queryset = members.objects.all()
    serializer_class = MemberSerializer
    permission_class = (permissions.IsAuthenticated,)


class MemberCreate(generics.CreateAPIView):
    queryset = members.objects.all()
    serializer_class = MemberSerializer
    permission_class = (permissions.IsAdminUser,)

    def perform_create(self, serializer):
         serializer.save(owner=self.request.user)

在上面 IsAuthenticated 工作正常,但是当我对 MemberCreate 类使用“permissions.IsAdminUser”时,它不允许管理员用户也可以创建项目。

根据问题“Django rest_framework IsAdminUser not behaving”,我什至尝试在 settings.py 中添加以下内容,但仍然没有发生覆盖,

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    )
 }

无论是否添加或不添加settings.py中的REST_FRAMEWORK IsAdminUser权限都不起作用。

【问题讨论】:

    标签: django django-rest-framework django-rest-auth


    【解决方案1】:

    问题在于permission_class

    会的

     permission_classes = (permissions.IsAdminUser, )
     #              ^^^^^
    

    【讨论】:

      猜你喜欢
      • 2022-11-20
      • 1970-01-01
      • 2020-01-04
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 2020-07-17
      • 2016-09-19
      • 2017-05-05
      相关资源
      最近更新 更多