restframework利用django原生的登錄和退出登錄需註意!!
阿新 • • 發佈:2018-03-27
ews 格式 logo str bsp ffffff 原生 elf word
class LoginView(views.APIView): """ 用戶登錄 """def post(self, request, *args, **kwargs): """ :param request: :return: """ userSerializer = LoginSerializer(data=request.data) if not userSerializer.is_valid(): return Response({‘code‘: 2004, ‘msg‘: ‘前端數據格式錯誤:%s‘ % userSerializer.errors}) username = userSerializer.data.get(‘username‘) password = userSerializer.data.get(‘password‘) type = userSerializer.data.get(‘type‘) if type == 1: # 密碼登錄 user = auth.authenticate(username=username, password=password)if user: auth.login(request._request, user) # 千萬不要用auth.login(request, user)會出錯!!!!restframework的request和django原生的request不同,退出登錄也是auth.logout(request._request)
results = dict(code=2001, msg=‘登錄成功‘, data=PersonalInfoSerializer(user).data) else: results = dict(code=2004, msg=‘用戶名與密碼不匹配,登錄失敗‘)
restframework利用django原生的登錄和退出登錄需註意!!