|
|
@@ -6,18 +6,18 @@ from django.contrib.auth import authenticate
|
|
|
|
|
|
from utils.JWTAuthentication_diy import get_token, MyJWTAuthentication
|
|
|
from utils.permissions import RegisterViewPermission
|
|
|
-from .serializers import RegisterViewSerializer
|
|
|
+from .serializers import RegisterViewSerializer, LoginViewSerializer
|
|
|
|
|
|
|
|
|
# Create your views here.
|
|
|
|
|
|
|
|
|
class LoginView(APIView):
|
|
|
-
|
|
|
def post(self, request):
|
|
|
- username = request.data.get('username')
|
|
|
- password = request.data.get('password')
|
|
|
- user = authenticate(username=username, password=password)
|
|
|
+ serializer = LoginViewSerializer(data=request.data)
|
|
|
+ serializer.is_valid(raise_exception=True)
|
|
|
+ request_data = serializer.validated_data
|
|
|
+ user = authenticate(**request_data)
|
|
|
if user is not None and user.is_active:
|
|
|
token = get_token(user)
|
|
|
return Response(token)
|
|
|
@@ -32,6 +32,6 @@ class RegisterView(GenericAPIView):
|
|
|
|
|
|
def post(self, request):
|
|
|
serializer = self.get_serializer(data=request.data)
|
|
|
- serializer.is_valid()
|
|
|
+ serializer.is_valid(raise_exception=True)
|
|
|
serializer.save()
|
|
|
return Response(serializer.data)
|