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