Как передать данные сериализатора в Django httpresponsponseredirect?
Вот мой первоначальный вид входа в систему:
class LoginAPIView(generics.GenericAPIView):
serializer_class = LoginSerializer
def post(self, request):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
return Response(serializer.data, status=status.HTTP_200_OK)
Это дает следующие результаты после входа в систему:
Но затем, чтобы предотвратить повторную отправку формы, я изменил Response
на HttpResponseRedirect
:
class LoginAPIView(generics.GenericAPIView):
serializer_class = LoginSerializer
def post(self, request):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
return HttpResponseRedirect(reverse('login',serializer.data, status=status.HTTP_200_OK)) # new
Но это дает мне ошибку:
TypeError: unhashable type: 'ReturnDict'
Есть ли обходной путь для этого?
это должно работать нормально
import json
class LoginAPIView(generics.GenericAPIView):
serializer_class = LoginSerializer
def post(self, request):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
return HttpResponseRedirect(
reverse('login'),
json.dumps(serializer.data),
status=status.HTTP_200_OK
)