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

django-完善註冊介面

1.完善註冊介面


對https://www.cnblogs.com/tjw-bk/p/13771303.html註冊介面的完善

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': '註冊成功'})