コード例 #1
0
    def put(self, request):
        token = request.GET.get('token')

        if not token:
            return JsonResponse({
                'code': 400,
                'errmsg': '缺少必传参数'
            })

        user = User.check_verify_email_token(token)
        if not user:
            return JsonResponse({
                'code': 400,
                'errmsg': '无效的token'
            })

        try:
            user.email_active = True
            user.save()
        except Exception as e:
            logger.error(e)
            return JsonResponse({
                'code': 400,
                'errmsg': '激活失败'
            })
        return JsonResponse({
            'code': 0,
            'errmsg': 'ok'
        })
コード例 #2
0
    def get(self, request):
        # 获取前端以查询字符串方式传过来的token
        token = request.query_params.get('token')
        #将token解密 并查询对应的user对象 里面是有逻辑的
        user = User.check_verify_email_token(token)

        #修改user对象的email_active为True
        if user is None:
            return Response({'message': '激活失败'},
                            status=status.HTTP_400_BAD_REQUEST)

        # 项目中所有文件(views,serlizer,utils,models)都支持python语法对模型对象的相关操作
        # 模型对象.属性赋值(对数据库中的某个对象的值进行修改) 从表里面查找某一个用户或者查询集 创建一个新的用户并保存等等
        # user.check_password set_password等等 user = oauthqqmodel.user  # 外键关联的用户对象等等return Response({
        #     'token':token,
        #     'username':user.username,
        #     'user_id':user.id
        # })
        # 创建用户的时候要注意user.set_password(validated_data.get('password'))
        # user.save() 密码这里比较特殊 不能objects.create()
        #还要注意user = User.objects.get(id=id,email=email)
        # except User.DoesNotExist:
        user.email_active = True
        user.save()
        # 响应
        return Response({'message': 'ok'})
コード例 #3
0
ファイル: views.py プロジェクト: laoyia/meiduo-
    def put(self, request):
        """
        用户邮箱验证:
        1. 获取token参数并进行校验(token必传,对token解密)
        2. 将对应的用户邮箱验证标记email_active设置为True
        3. 返回应答
        """
        # 1. 获取token参数并进行校验(token必传,对token解密)
        token = request.query_params.get('token')  # None

        if token is None:
            return Response({'message': '缺少token参数'},
                            status=status.HTTP_400_BAD_REQUEST)

        # 对token解密
        user = User.check_verify_email_token(token)

        if user is None:
            # 解密失败
            return Response({'message': '无效的token数据'},
                            status=status.HTTP_400_BAD_REQUEST)

        # 2. 将对应的用户邮箱验证标记email_active设置为True
        user.email_active = True
        user.save()

        # 3. 返回应答
        return Response({'message': 'OK'})
コード例 #4
0
    def put(self, request):
        """实现邮箱验证逻辑"""
        # 接收参数
        token = request.GET.get('token')

        # 校验参数:判断 token 是否为空和过期,提取 user
        if not token:
            return  http.JsonResponse({'code':400,
                                  'errmsg':'缺少token'})

        # 调用上面封装好的方法, 将 token 传入
        user = User.check_verify_email_token(token)
        if not user:
            return  http.JsonResponse({'code':400,
                                  'errmsg':'无效的token'})

        # 修改 email_active 的值为 True
        try:
            user.email_active = True
            user.save()
        except Exception as e:
            logger.error(e)
            return http.JsonResponse({'code':400,
                                 'errmsg':'激活邮件失败'})

        # 返回邮箱验证结果
        return http.JsonResponse({'code':0,
                             'errmsg':'ok'})
コード例 #5
0
    def put(self, request):
        """
        用户邮箱验证的API:
        1. 获取token并进行校验(token必传,token是否有效)
        2. 设置对应用户的邮箱验证标记email_active
        3. 返回应答,邮箱验证成功
        """
        # 1. 获取token并进行校验(token必传,token是否有效)
        token = request.query_params.get('token')

        if token is None:
            return Response({'message': '缺少token参数'},
                            status=status.HTTP_400_BAD_REQUEST)

        # token是否有效
        user = User.check_verify_email_token(token)

        if user is None:
            return Response({'message': '无效的token数据'},
                            status=status.HTTP_400_BAD_REQUEST)

        # 2. 设置对应用户的邮箱验证标记email_active
        user.email_active = True
        user.save()

        # 3. 返回应答,邮箱验证成功
        return Response({'message': 'OK'})
コード例 #6
0
    def put(self, request):
        # 接收参数
        token = request.GET.get('token')
        # 校验参数
        if not token:
            return JsonResponse({
                'code': 400,
                'errmsg': '缺少查询参数'
            })

        user = User.check_verify_email_token(token)
        if not user:
            return JsonResponse({
                "code": 400,
                'errmsg': '无效的token'
            })
        # 处理数据
        try:
            user.email_active = True
            user.save()
        except Exception as e:
            logger.error(e)
            return JsonResponse({
                'code': 400,
                'errmsg': '激活邮件失败'
            })

        # 构建响应
        return JsonResponse({
            'code': 0,
            'errmsg': 'ok'
        })
コード例 #7
0
    def get(self, request):
        """实现邮箱验证逻辑"""
        # 接收参数
        token = request.GET.get('token')

        # 校验参数:判断token是否为空 或 过期,提取user
        if not token:
            return HttpResponseBadRequest('缺少token值')

        # 调用上面封装好的方法,将token传入
        user = User.check_verify_email_token(token)

        if not user:
            return HttpResponseForbidden('无效的token值')

        # 修改email_active的值为True
        try:
            user.email_active = True
            user.save()
        except Exception as e:
            logger.error(e)
            return HttpResponseServerError('激活邮件失败')

        # 返回邮箱验证结果
        return redirect(reverse('users:info'))
コード例 #8
0
    def put(self, request):
        """
        激活用户邮箱:
        1. 获取token参数并进行校验(token必传,token是否有效)
        2. 设置用户邮箱验证标记
        3. 返回应答
        """
        # 1. 获取token参数并进行校验(token必传,token是否有效)
        token = request.query_params.get('token')

        if not token:
            return Response({'message': '缺少token信息'},
                            status=status.HTTP_400_BAD_REQUEST)

        user = User.check_verify_email_token(token)

        if user is None:
            return Response({'message': '无效的token信息'},
                            status=status.HTTP_400_BAD_REQUEST)

        # 2. 设置用户邮箱验证标记
        user.email_active = True
        user.save()

        # 3. 返回应答
        return Response({'message': 'OK'})
コード例 #9
0
    def put(self, request):
        """ 用户邮箱验证 """
        # 1.获取加密的用户token并进行校验
        token = request.GET.get('token')

        if not token:
            return JsonResponse({'code': 400,
                                 'message': '缺少token参数!'})

        # 对用户的信息进行解密
        user = User.check_verify_email_token(token)

        if user is None:
            return JsonResponse({'code': 400,
                                 'message': 'token信息有误!'})

        # 2.设置对应用户的邮箱验证标记为已验证
        try:
            user.email_active = True
            user.save()
        except Exception as e:
            return JsonResponse({'code': 400,
                                 'message': '验证邮箱失败!'})

        # 3.返回响应
        return JsonResponse({'code': 0,
                             'message': 'OK'})
コード例 #10
0
ファイル: views.py プロジェクト: okada8/python
 def get(self,request):
     #获取token
     token=request.query_params.get('token')
     if not token:
         return Response({"缺少的token"}, status=status.HTTP_400_BAD_REQUEST)
     #校验token,保存
     result=User.check_verify_email_token(token)
     #返回
     if result:
         return Response({"message":"ok"})
     else:
         return Response({"非法的token"},status=status.HTTP_400_BAD_REQUEST)
コード例 #11
0
ファイル: views.py プロジェクト: li2386234282/meidou_lj_plus
    def put(self, request):
        # 1、提取查询字符串中token
        token = request.GET.get('token')
        # 2、校验token
        user = User.check_verify_email_token(token)
        if not user:
            return JsonResponse({'code': 400, 'errmsg': '验证邮件无效!'})

        # 3、如果token有效,把邮箱的激活状态设置为True
        user.email_active = True
        user.save()

        return JsonResponse({'code': 0, 'errmsg': '邮箱激活成功!'})
コード例 #12
0
ファイル: views.py プロジェクト: amourbrus/meiduo_mall
 def get(self, request):
     # 获取token
     token = request.query_params.get('token')
     if not token:
         return Response({'message': '缺少token'}, status=status)
     # 验证token
     user = User.check_verify_email_token(token)
     if user is None:
         return Response({'message': '连接信息无效'}, status=status)
     else:
         user.email_active = True
         user.save()
         return Response({'message': "ok"})
コード例 #13
0
 def put(self, request):
     token = request.GET.get("token")
     if not token:
         return JsonResponse({"code": 400, "message": "缺少token参数"})
     user = User.check_verify_email_token(token)
     if user is None:
         return JsonResponse({"code": 400, "message": "传入token信息有误"})
     try:
         user.email_active = True
         user.save()
     except Exception as e:
         return JsonResponse({"code": 400, "message": "邮箱验证失败"})
     return JsonResponse({"code": 0, "message": "OK"})
コード例 #14
0
ファイル: views.py プロジェクト: lzy00001/SHOP_CENTER
    def get(self, request):
        """获取token"""
        token = request.query_params.get("token")
        if not token:
            return Response({"message":"缺少token"}, status=status.HTTP_400_BAD_REQUEST)

        # 校验token
        user = User.check_verify_email_token(token)
        if user is None:
            return Response({"messsage":"链接信息无效"}, status=status.HTTP_400_BAD_REQUEST)
        else:
            user.email_active = True
            user.save()
            return Response({"message":"OK"})
コード例 #15
0
    def get(self, request):
        token = request.query_params.get('token')
        if not token:
            return Response({'message': '缺少token'}, status=status.HTTP_400_BAD_REQUEST)

        user = User.check_verify_email_token(token)

        if user is None:
            return Response({'message': '链接信息无效'}, status=status.HTTP_400_BAD_REQUEST)

        else:
            user.email_active = True
            user.save()
            return Response({'message': 'OK'})
コード例 #16
0
ファイル: views.py プロジェクト: yanhang0109/MeiduoShop
    def get(self, request):
        # note--获取token, DRF中所有的查询参数在query_params中, 所有路径参数在args(匿名), kwargs(命名)中

        token = request.query_params.get('token')
        if not token:
            return Response({'message': '缺少token'}, status=status.HTTP_400_BAD_REQUEST)

        # 验证token, 该方法是静态方法, 所以不需要具体用户对象就可使用
        user = User.check_verify_email_token(token)
        if user is None:
            return Response({'message': '链接信息无效'}, status=status.HTTP_400_BAD_REQUEST)
        else:
            user.email_active = True
            user.save()
            return Response({'message': 'OK'})
コード例 #17
0
ファイル: views.py プロジェクト: Create-Wu/Mieduo
    def get(self, request):
        #  1. 获取前token 查询参数
        token = request.query.get('token')
        if not token:
            return Response({'message': '缺少token'}, status=status.HTTP_400_BAD_REQUEST)

        # 2.解密token获取user
        user = User.check_verify_email_token(token)
        if not user:
            return Response({'message': '无效的token'}, status=status.HTTP_400_BAD_REQUEST)

        # 修改邮箱验证的状态
        user.email_active = True
        user.save()

        return Response({'message': 'ok'})
コード例 #18
0
ファイル: views.py プロジェクト: gaosong666/taobao
 def get(self,request):
     # 获取token, 并判断
     token = request.query_params.get('token')
     if not token:
         return Response({'message':'缺少token'},status=status.HTTP_400_BAD_REQUEST)
     # 获取token中的id,email
     # 查询用户, 并判断是否存在
     user = User.check_verify_email_token(token)
     if user is None:
         return Response({'message':'链接无效'},status=status.HTTP_400_BAD_REQUEST)
     else:
         # 修改状态
         user.email_active = True
         user.save()
         # 返回响应
         return Response({'message':'ok'})
コード例 #19
0
    def get(self, request):
        token = request.query_params.get("token")
        if not token:
            return Response({"message": "缺少token"},
                            status=status.HTTP_400_BAD_REQUEST)

        # 校验token,返回用户模型对象
        user = User.check_verify_email_token(token)
        if not user:
            return Response({"message": "链接失效"},
                            status=status.HTTP_400_BAD_REQUEST)
        else:
            # 用户邮箱通过验证,设置为已激活状态
            user.email_active = True
            user.save()

        return Response({"message": "邮箱验证成功"})
コード例 #20
0
    def get(self, request):
        # 获取token
        token = request.query_params.get('token')
        if not token:
            return Response({"message": '缺少token'},
                            status=status.HTTP_400_BAD_REQUEST)

        # 验证token,并返回user
        user = User.check_verify_email_token(token)
        if not user:
            return Response({"message": '无效的token'},
                            status=status.HTTP_400_BAD_REQUEST)

        # 修改当前user的email_active属性的值为True
        user.email_active = True
        user.save()

        return Response({'message': 'Ok'})
コード例 #21
0
    def get(self, request):
        token = request.GET.get('token')

        if not token:
            return http.HttpResponseBadRequest('缺少token')

        user = User.check_verify_email_token(token)

        if not user:
            return http.HttpResponseForbidden('无效的token')

        try:
            user.email_active = True
            user.save()
        except BaseException:
            return http.HttpResponseServerError('激活邮件失败')

        # 返回邮箱验证结果
        return redirect(reverse('users:info'))
コード例 #22
0
    def put(self, request):
        # 获取参数
        token = request.GET.get('token')
        # 判断参数是否为空
        if not token:
            return JsonResponse({'code': 400, 'errmsg': '缺少token'})
        # 调用User model的方法获取用户
        user = User.check_verify_email_token(token)
        if not user:
            return JsonResponse({'code': 400, 'errmsg': '无效的token'})
        # 将用户的激活值设为True
        try:
            user.email_active = True
            user.save()
        except Exception as e:
            logger.error(e)
            return JsonResponse({'code': 400, 'errmsg': '激活邮件失败'})

        return JsonResponse({'code': 0, 'errmsg': 'ok'})
コード例 #23
0
 def get(self, request):
     """
     验证邮箱是一个根据token查询匹配用户的过程,get请求即可
     """
     # 从url查询字符串中获取token
     token = request.query_params.get("token")
     print("用户从邮箱url中跳转到验证链接时在界面created加载之前发送请求通过url传递的token:", token)
     if not token:
         return Response({"message": "缺少token"},
                         status=status.HTTP_400_BAD_REQUEST)
     # 通过在User模型类自定义的静态方法验证token,验证成功会返回当前用户对象
     user = User.check_verify_email_token(token)
     if user is None:
         # 表明token有问题,可能过期
         return Response({"message": "验证信息无效"},
                         status=status.HTTP_400_BAD_REQUEST)
     # 如果用户存在,则将用户数据的邮箱激活状态设为True,返回成功
     user.email_active = True
     user.save()
     return Response({"message": "OK"})
コード例 #24
0
    def put(self, request):
        """
        用户邮箱验证
        1. 获取token参数并进行校验(token必传,token是否有效)
        2. 设置用户邮箱验证的标记为True
        3. 返回应答,验证通过
        """
        # 1. 获取token参数并进行校验(token必传,token是否有效)
        token = request.query_params.get('token')

        if token is None:
            return Response({'message': '缺少token参数'},
                            status=status.HTTP_400_BAD_REQUEST)

        # token是否有效
        user = User.check_verify_email_token(token)

        if user is None:
            return Response({'message', '无效的token数据'},
                            status=status.HTTP_400_BAD_REQUEST)

        # 3.返回应答,验证通过
        return Response({'message': 'OK'})
コード例 #25
0
ファイル: views.py プロジェクト: HuangHuo1/meiduo_project
 def get(self, request):
     """
     实现邮箱验证逻辑
     :param request:
     :return:
     """
     #接受参数
     token = request.GET.get('token')
     #检验参数
     if not token:
         return http.HttpResponseForbidden('缺少token')
     #调用之前封装好的方法,江token传入将其解密
     user = User.check_verify_email_token(token)
     if not user:
         return http.HttpResponseForbidden('无效的token')
     #修改email_active的的状态为激活
     try:
         user.email_active = True
         user.save()
     except Exception as f:
         logger.error(f)
         return http.HttpResponseForbidden('邮件激活失败')
     #返回邮件验证结果
     return redirect(reverse('users:info'))