我一直收到403响应错误。I';m使用django restframework和定制的身份验证方法

我一直收到403响应错误。I';m使用django restframework和定制的身份验证方法,django,api,django-rest-framework,Django,Api,Django Rest Framework,检查postman i通知中的标题,允许的方法不包括POST。我无法请求未经验证的路由,我得到403 class LoginUserAccountView(generics.CreateAPIView): serializer_class = LoginSerializer permission_classes = [permissions.AllowAny] def create(self, request, *args, **kwargs): serializer =

检查postman i通知中的标题,允许的方法不包括POST。我无法请求未经验证的路由,我得到
403

class LoginUserAccountView(generics.CreateAPIView):
  serializer_class = LoginSerializer
  permission_classes = [permissions.AllowAny]

  def create(self, request, *args, **kwargs):
    serializer = LoginSerializer(data=request.data)
    serializer.is_valid(raise_exception=True)
    try:
      user = User.objects.get(email=request.data['email'])
      if user.check_password(request.data['password']):
        serialized_user = UserSerializer(user).data
        access_token = generate_access_token(user)

        return Response(data={'access_token': access_token,
            'user': serialized_user}, status=status.HTTP_200_OK)
      else:
        return Response({'errors': 'Invalid credentials'})
    except User.DoesNotExist:
      return Response({'errors': 'No user with such email!'})
下面是我的REST\u框架在settings.py中的外观

REST_FRAMEWORK = {
    'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.AllowAny',
    ),
    # 'DEFAULT_AUTHENTICATION_CLASSES': (
    #     'accounts.authentication.CustomJWTAuthentication',
    # ),
    'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',),
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
    'PAGE_SIZE': 100
}


你应该命名你的方法
create
,而不是
post

方法名称反映的是操作,而不是HTTP方法

  • 列表
    -获取,多个对象
  • 检索
    -使用ID获取单个对象
  • 创建
    -发布
  • 更新
    -PUT
  • 部分更新
    -补丁
  • 销毁
    -删除

看看ViewSet。

我正在使用
post
方法,因为我正在扩展
视图。APIView
。你能更新你的问题并提供整个课程吗?我已经用完整的课程代码更新了代码。