diff options
Diffstat (limited to 'rest_framework/authtoken/views.py')
| -rw-r--r-- | rest_framework/authtoken/views.py | 13 | 
1 files changed, 5 insertions, 8 deletions
| diff --git a/rest_framework/authtoken/views.py b/rest_framework/authtoken/views.py index 7c03cb76..b75c2e25 100644 --- a/rest_framework/authtoken/views.py +++ b/rest_framework/authtoken/views.py @@ -1,5 +1,4 @@  from rest_framework.views import APIView -from rest_framework import status  from rest_framework import parsers  from rest_framework import renderers  from rest_framework.response import Response @@ -12,15 +11,13 @@ class ObtainAuthToken(APIView):      permission_classes = ()      parser_classes = (parsers.FormParser, parsers.MultiPartParser, parsers.JSONParser,)      renderer_classes = (renderers.JSONRenderer,) -    serializer_class = AuthTokenSerializer -    model = Token      def post(self, request): -        serializer = self.serializer_class(data=request.DATA) -        if serializer.is_valid(): -            token, created = Token.objects.get_or_create(user=serializer.object['user']) -            return Response({'token': token.key}) -        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) +        serializer = AuthTokenSerializer(data=request.data) +        serializer.is_valid(raise_exception=True) +        user = serializer.validated_data['user'] +        token, created = Token.objects.get_or_create(user=user) +        return Response({'token': token.key})  obtain_auth_token = ObtainAuthToken.as_view() | 
