我正在为我的项目设置Django-rest-swagger。以下是我对Django-restframework的设置。
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
}
现在,当我有一个带有某些权限类的视图时,就像这样:
class CreateUserView(viewsets.ModelViewSet):
serializer_class = UserServiceSerializer
authentication_classes = []
permission_classes = []
class UserProfileView(viewsets.ModelViewSet):
serializer_class = UserProfileSerializer
serializer_class_2 = UserServiceSerializer
我看到以下视图 但是当在两个视图中添加
permission_classes
时,如下所示:class CreateUserView(viewsets.ModelViewSet):
serializer_class = UserServiceSerializer
authentication_classes = []
permission_classes = []
class UserProfileView(viewsets.ModelViewSet):
serializer_class = UserProfileSerializer
serializer_class_2 = UserServiceSerializer
permission_classes = []
我看到的视图如下所示:
我不想在每个视图中添加权限类,因为我所有的视图都有相同的类,并且我已经在我的rest-framework设置中提到了它。我该怎么办?
CreateUserView
的URL,因为permission_classes
为空且这是一个公共视图,UserProfileView
使用默认设置,仅允许授权用户使用您的API。在第二种情况下,您也可以将UserProfileView
设置为公共视图。您可以在此处了解更多有关不同权限的信息。 - Anton Shurashov