from django.contrib.auth import login from rest_framework import permissions from knox.views import LoginView as KnoxLoginView from rest_framework.authtoken.serializers import AuthTokenSerializer from users.serializers import UserSerializer class LoginView(KnoxLoginView): serializer_class = UserSerializer permission_classes = [permissions.AllowAny] def post(self, request, format=None): serializer = AuthTokenSerializer(data=request.data) serializer.is_valid(raise_exception=True) user = serializer.validated_data["user"] login(request, user) return super(LoginView, self).post(request, format=None)