コード例 #1
0
 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()
コード例 #2
0
	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'})
コード例 #3
0
    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'))