1. 程式人生 > >restframework利用django原生的登錄和退出登錄需註意!!

restframework利用django原生的登錄和退出登錄需註意!!

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