1. 程式人生 > 實用技巧 >完善註冊介面

完善註冊介面

1.完善註冊介面

1.1 修改user/views.py中完善檢視函式

# 註冊介面
class RegisterView(APIView):
    """
    使用者註冊, 許可權是: 匿名使用者可訪問
    """
    # 自定義許可權類
    permission_classes = (AllowAny,)
​
    def post(self, request):
        """
        接收使用者名稱,密碼,手機號和驗證碼, 前端校驗兩遍一致性, 註冊成功後返回成功, 然後使用者自行登入獲取token
        1. 使用者名稱
        2. 密碼
        3. 手機號
        4. 驗證碼
        :param request:
        :return:  {'code':0,'msg':'註冊成功'}
        code: "260361"
        password: "123123"
        phone: "13303479527"
        username: "liangxuepeng"
        """
        username = request.data.get('username')
        phone = request.data.get('phone')
        code = request.data.get('code')
        passwrod = request.data.get('password')
​
        if all([username, passwrod, phone, code]):
            pass
        else:
            return Response({'code': 999, 'msg': '引數不全'})
​
        # rand_name = self.randomUsername()
        # 驗證手機驗證碼
        redis_client = get_redis_connection('verify_code')
        code_redis = redis_client.get(phone)
        if code_redis:
            code_redis = code_redis.decode()
​
        if not code == code_redis:
            return Response({'code': 999, 'msg': '手機驗證碼錯誤'})
​
        user = User(username=username, phone=phone)
        user.set_password(passwrod)
        user.save()
​
        return Response({'code': 0, 'msg': '註冊成功'})