码迷,mamicode.com
首页 > 其他好文 > 详细

restframework利用django原生的登录和退出登录需注意!!

时间:2018-03-27 18:47:12      阅读:895      评论:0      收藏:0      [点我收藏+]

标签:data   错误   def   users   ret   password   登录失败   class   密码   

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原生的登录和退出登录需注意!!

标签:data   错误   def   users   ret   password   登录失败   class   密码   

原文地址:https://www.cnblogs.com/ALXPS/p/8658744.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!