我一直收到403响应错误。I';m使用django restframework和定制的身份验证方法
检查postman i通知中的标题,允许的方法不包括POST。我无法请求未经验证的路由,我得到我一直收到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 =
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
。你能更新你的问题并提供整个课程吗?我已经用完整的课程代码更新了代码。