diff options
| author | Tom Christie | 2012-11-19 13:30:49 -0800 |
|---|---|---|
| committer | Tom Christie | 2012-11-19 13:30:49 -0800 |
| commit | b9e5c9484ae34b6675ea940854d58e2561bcc7f9 (patch) | |
| tree | 8de7b921b7bc8b7cf9275cf07c8f26c3bf276d14 /rest_framework/authtoken/views.py | |
| parent | 25f024575bc36ea6ed386160a31b70abb5ac3e6e (diff) | |
| parent | f5f1ac49ec9d9cb180a00c791f2701c3f5a2d65b (diff) | |
| download | django-rest-framework-b9e5c9484ae34b6675ea940854d58e2561bcc7f9.tar.bz2 | |
Merge pull request #399 from robromano/master
Added login view for users of TokenAuthentication
Diffstat (limited to 'rest_framework/authtoken/views.py')
| -rw-r--r-- | rest_framework/authtoken/views.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/rest_framework/authtoken/views.py b/rest_framework/authtoken/views.py index e69de29b..3ac674e2 100644 --- a/rest_framework/authtoken/views.py +++ b/rest_framework/authtoken/views.py @@ -0,0 +1,24 @@ +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 +from rest_framework.authtoken.models import Token +from rest_framework.authtoken.serializers import AuthTokenSerializer + +class ObtainAuthToken(APIView): + throttle_classes = () + permission_classes = () + parser_classes = (parsers.FormParser, parsers.MultiPartParser, parsers.JSONParser,) + renderer_classes = (renderers.JSONRenderer,) + model = Token + + def post(self, request): + serializer = AuthTokenSerializer(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) + + +obtain_auth_token = ObtainAuthToken.as_view() |
