Exemplo n.º 1
0
    def get(self, request):
        """
        1.接收参数
        2.判断参数是否为空
        3.对token进行验证码
        4.修改邮件激活状态
        5.返回相应,调转到指定页面
        """
        # 1.接收参数
        token = request.GET.get('token')
        # 2.判断参数是否为空
        if token is None:
            return http.HttpResponseBadRequest('缺少参数')
        # 3.对token进行验证码
        user = check_verify_email_token(token)
        # 4.修改邮件激活状态
        try:
            user.email_active = True
            user.save()
        except Exception as e:
            logger.error(e)
            return http.HttpResponseServerError('激活邮件失败')

        # 5.返回相应,调转到指定页面
        return redirect(reverse('users:info'))
Exemplo n.º 2
0
 def get(self, request):
     """
     #1.接受参数(tocken)
     #2.校验参数
     #2.1判断参数(tocken)是否存在/过期
     #3通过check_verify_email_token方法获取对象
     #3.1判断获取对象是否为空
     #4.激活用户并保存(异常处理)
     #5.返回响应
     :param request:用户点击邮箱激活的链接地址发送的请求
     :return:返回的激活邮箱的验证结果
             返回用户中心页面
     """
     # 1.接受参数(tocken)
     token = request.GET.get('token')
     # 2.校验参数
     # 2.1判断参数(tocken)是否存在/过期
     if token is None:
         return http.HttpResponseBadRequest("缺少参数")
     # 3通过check_verify_email_token方法获取对象
     user = check_verify_email_token(token)
     # 3.1判断获取对象是否为空
     if not user:
         return http.HttpResponseBadRequest('用户不存在')
     # 4.激活用户并保存(异常处理)
     try:
         user.email_active = True
         user.save()
     except Exception as e:
         logger.error(e)
         return http.HttpResponseBadRequest('激活失败')
     # 5.返回响应
     return redirect(reverse('users:info'))
Exemplo n.º 3
0
    def get(self, request):
        """实现邮箱验证逻辑"""
        # 接受token
        token = request.GET.get('token')

        # 2.解密 3. 取数据库对比
        # 校验参数
        # 判断token是否为空和过期,提取user
        if not token:
            return http.HttpResponseBadRequest('缺少token')

        # 验证token并提取user
        user = check_verify_email_token(token)
        if not user:
            return http.HttpResponseForbidden('无效的token')

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

        # 5.重定向到 用户中心
        return redirect(reverse('users:info'))
Exemplo n.º 4
0
    def put(self, request):
        # - 1.接收 token
        token = request.GET.get('token')
        if not token:
            return JsonResponse({'code': 400, 'errmsg': 'token缺少'})

        # - 2.解密

        data_dict = check_verify_email_token(token)

        # - 4.去数据库对比 user_id,email
        try:
            user = User.objects.get(id=data_dict)
        except:
            return JsonResponse({'code': 400, 'errmsg': '参数有误!'})
        # - 5.修改激活状态
        user.email_active = True
        user.save()
        return JsonResponse({'code': 0, 'errmsg': 'ok'})
Exemplo n.º 5
0
 def get(self, request):
     # 接收参数
     token = request.GET.get('token')
     # 校验参数: 判断token是否为空和过期,提取user
     if not token:
         return http.HttpResponseBadRequest('缺少token')
     user = check_verify_email_token(token)
     if not user:
         return http.HttpResponseBadRequest('无效的token')
     # 修改email_active的值位true
     try:
         user.email_active = True
         user.save()
     except Exception as e:
         logger.error(e)
         return http.HttpResponseServerError('激活邮件失败')
     # 返回验证结果
     # return http.HttpResponse('激活成功')
     return redirect(reverse('users:center'))
Exemplo n.º 6
0
    def get(self, request):
        """实现邮箱验证逻辑"""
        # 接收参数
        token = request.GET.get('token')

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

        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'))