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