def get(self, request, args): token = args["token"] # 验证token user = User.check_verify_email_token(token) if user is None: return self.send_error(status_code=status.HTTP_400_BAD_REQUEST, error_message={"detail": "链接信息无效"}) else: user.email_active = True user.save() return self.send_success()
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({'message': '链接信息无效'}, status=status.HTTP_400_BAD_REQUEST) else: user.email_active = True user.save() return Response({'message': 'OK'})
def get(self, request): """实现邮箱验证逻辑""" # 接收参数 token = request.GET.get('token') # 校验参数:判断 token 是否为空和过期,提取 user if not token: return http.HttpResponseBadRequest('缺少token') # 调用上面封装好的方法, 将 token 传入 user = User.check_verify_email_token(token) if not user: return http.HttpResponseForbidden('无效的token') # 修改 email_active 的值为 True try: user.email_active = True user.save() except Exception as e: logger.error(e) return http.HttpResponseServerError('激活邮件失败') # 返回邮箱验证结果 return redirect(reverse('user:info'))