from common.mixins import GenericView from rest_framework_jwt.views import ObtainJSONWebToken from common import response # Create your views here. class LoginView(ObtainJSONWebToken, GenericView): def post(self, request, *args, **kwargs): res = super(LoginView, self).post(request, *args, **kwargs) self.running_log.info('[users.login] username: %s' % request.data.get('username')) if res.status_code == 400: raise self.invalid_params(msg="用户名或密码错误") serializer = self.get_serializer(data=request.data) serializer.is_valid() user = serializer.object.get('user') user_id = user.id data = { 'user_id': user_id, 'user_name': user.username, 'token': res.data.get('token'), } return response.ok(data=data)