首页 > 解决方案 > 如何在 Django 中正确注册 genericAPI 视图并解决 405 错误

问题描述

我的视图如下所示

class UserFpProfileView(generics.GenericAPIView,
                              mixins.CreateModelMixin,
                              mixins.RetrieveModelMixin):
    serializer_class = UserFpProfileSerializer
    permission_classes = (permissions.AllowAny,)
    # authentication_classes = (authentication.TokenAuthentication,)

    def create(self, request, *args, **kwargs):
        serializer = self.get_serializer(
            **request.data
        )
        serializer.is_valid(raise_exception=True)
        serializer.save(user=self.request.user)

        return Response(serializer.data, status=status.HTTP_201_CREATED)

    def get_object(self):
        # Raise error if user type is not fp
        if self.request.user.type != 'fp':
            raise exceptions.PermissionDenied(detail='FP 계정만 접근할 수 있습니다.')

        queryset = self.queryset
        queryset.filter(user=self.request.user)

        return queryset

路线如下所示

path('me/fp-profile/', views.UserFpProfileView.as_view(), name='fp-profile'),

当我发布或访问 'me/fp-profile' URL 时,我收到 405 method not allowed 错误。我究竟做错了什么?

标签: django

解决方案


推荐阅读