user login
Showing
2 changed files
with
24 additions
and
2 deletions
| 1 | from django.shortcuts import render | 1 | from common.mixins import GenericView |
| 2 | from rest_framework_jwt.views import ObtainJSONWebToken | ||
| 3 | from common import response | ||
| 2 | 4 | ||
| 3 | # Create your views here. | 5 | # Create your views here. |
| 6 | |||
| 7 | |||
| 8 | class LoginView(ObtainJSONWebToken, GenericView): | ||
| 9 | |||
| 10 | def post(self, request, *args, **kwargs): | ||
| 11 | res = super(LoginView, self).post(request, *args, **kwargs) | ||
| 12 | self.running_log.info('[users.login] username: %s' % request.data.get('username')) | ||
| 13 | |||
| 14 | if res.status_code == 400: | ||
| 15 | raise self.invalid_params(msg="用户名或密码错误") | ||
| 16 | serializer = self.get_serializer(data=request.data) | ||
| 17 | serializer.is_valid() | ||
| 18 | user = serializer.object.get('user') | ||
| 19 | user_id = user.id | ||
| 20 | data = { | ||
| 21 | 'user_id': user_id, | ||
| 22 | 'user_name': user.username, | ||
| 23 | 'token': res.data.get('token'), | ||
| 24 | } | ||
| 25 | return response.ok(data=data) | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or sign in to post a comment