Ejemplo n.º 1
0
    def get(self, request):
        '''
        用户点击了验证链接之后调用的一个接口
        :param request:
        :return:
        '''
        # 1.接收参数
        token = request.GET.get('token')

        # 2.校验参数
        if not token:
            return http.HttpResponseForbidden('缺少必传参数')

        # 3.把token解析(解密) ====> user
        user = User.check_access_token(token)

        # 4.判断用户是否存在
        if user is None:
            return http.HttpResponseForbidden('token有误')

        # 5.修改状态, 证明当前的邮箱是激活的
        try:
            user.email_active = True
            user.save()
        except Exception as e:
            logger.error(e)
            return http.HttpResponseServerError('数据库修改错误')

        # 6.返回
        return redirect(reverse('users:info'))
Ejemplo n.º 2
0
    def put(self, request):
        '''获取前端传入的token,更改用户的email_active为true'''

        #接收参数
        token = request.GET.get('token')
        #校验参数,判断token是否为空和过期,提取user
        if not token:
            return JsonResponse({'code': 400, 'errmsg': 'token为空'})

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

        if not user:
            return JsonResponse({'code': 400, 'errmsg': 'token错误'})

        # 修改email_active的值为true
        try:
            user.email = True
            user.save()
        except Exception as e:
            return JsonResponse({'code': 400, 'errmsg': '修改数据库错误'})

        #返回邮箱验证结果
        return JsonResponse({'code': 0, 'errmsg': 'ok'})