12345678910111213141516171819202122232425262728 |
- #coding=utf-8
- from rest_framework.serializers import ValidationError
- from rest_framework_jwt.views import ObtainJSONWebToken,VerifyJSONWebToken,RefreshJSONWebToken
- from utils import response_error, response_ok
- from apps.account.serializers import JWTSerializer
- class LoginView(ObtainJSONWebToken):
- serializer_class = JWTSerializer
- def post(self, request, *args, **kwargs):
- try:
- ser = self.serializer_class(data=request.data)
- ser.request = request
- if ser.is_valid(raise_exception=True):
- return response_ok(ser.validated_data)
- except ValidationError as e:
- return response_error(e.detail['error'][0])
- class RefreshTokenView(RefreshJSONWebToken):
- def post(self, request, *args, **kwargs):
- try:
- ser = self.serializer_class(data=request.data)
- if ser.is_valid(raise_exception=True):
- return response_ok({'token': ser.validated_data['token']})
- except ValidationError as e:
- return response_error(u'登录状态失效,请重新登录')
|