views.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from rest_framework.views import APIView
  2. from rest_framework.generics import GenericAPIView
  3. from rest_framework.response import Response
  4. from rest_framework import status
  5. from django.contrib.auth import authenticate
  6. from utils.JWTAuthentication_diy import get_token, MyJWTAuthentication
  7. from .serializers import RegisterViewSerializer
  8. # Create your views here.
  9. class LoginView(APIView):
  10. def post(self,request):
  11. username = request.data.get('username')
  12. password = request.data.get('password')
  13. user = authenticate(username = username,password = password)
  14. if user is not None and user.is_active:
  15. token = get_token(user)
  16. return Response(token)
  17. else:
  18. return Response(data = {"msg":"登录验证失败","data":""},status=status.HTTP_401_UNAUTHORIZED)
  19. class RegisterView(GenericAPIView):
  20. authentication_classes = [MyJWTAuthentication]
  21. serializer_class = RegisterViewSerializer
  22. def post(self,request):
  23. serializer = self.get_serializer(data=request.data)
  24. serializer.is_valid()
  25. serializer.save()
  26. return Response(serializer.data)
  27. # class UserShowView(APIView):
  28. # #局部配置
  29. # authentication_classes = [MyJWTAuthentication]
  30. # def post(self,request):
  31. # token = request.auth
  32. # user = request.user
  33. # print(token)
  34. # print(user)
  35. # # print(user["user_modules"])
  36. # return Response("认证成功")