当前位置: 首页>>代码示例>>Python>>正文


Python Captcha.check方法代码示例

本文整理汇总了Python中utils.captcha.Captcha.check方法的典型用法代码示例。如果您正苦于以下问题:Python Captcha.check方法的具体用法?Python Captcha.check怎么用?Python Captcha.check使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在utils.captcha.Captcha的用法示例。


在下文中一共展示了Captcha.check方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: post

# 需要导入模块: from utils.captcha import Captcha [as 别名]
# 或者: from utils.captcha.Captcha import check [as 别名]
 def post(self, request):
     """
     用户注册json api接口
     ---
     request_serializer: UserRegisterSerializer
     """
     serializer = UserRegisterSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.data
         captcha = Captcha(request)
         if not captcha.check(data["captcha"]):
             return error_response(u"验证码错误")
         try:
             User.objects.get(username=data["username"])
             return error_response(u"用户名已存在")
         except User.DoesNotExist:
             pass
         try:
             User.objects.get(email=data["email"])
             return error_response(u"该邮箱已被注册,请换其他邮箱进行注册")
         except User.DoesNotExist:
             user = User.objects.create(username=data["username"], real_name=data["real_name"],
                                        email=data["email"])
             user.set_password(data["password"])
             user.save()
             return success_response(u"注册成功!")
     else:
         return serializer_invalid_response(serializer)
开发者ID:hujingguang,项目名称:OnlineJudge,代码行数:30,代码来源:views.py

示例2: post

# 需要导入模块: from utils.captcha import Captcha [as 别名]
# 或者: from utils.captcha.Captcha import check [as 别名]
    def post(self, request):
        """
        提交请求重置密码
        ---
        request_serializer: ApplyResetPasswordSerializer
        """
        serializer = ApplyResetPasswordSerializer(data=request.data)
        if serializer.is_valid():
            data = serializer.data
            captcha = Captcha(request)
            if not captcha.check(data["captcha"]):
                return error_response(u"验证码错误")
            try:
                user = User.objects.get(email=data["email"])
            except User.DoesNotExist:
                return error_response(u"用户不存在")
            if user.reset_password_token_create_time and (now() - user.reset_password_token_create_time).total_seconds() < 20 * 60:
                return error_response(u"20分钟内只能找回一次密码")
            user.reset_password_token = rand_str()
            user.reset_password_token_create_time = now()
            user.save()
            email_template = codecs.open(settings.TEMPLATES[0]["DIRS"][0] + "utils/reset_password_email.html", "r", "utf-8").read()

            email_template = email_template.replace("{{ username }}", user.username).\
                replace("{{ website_name }}", settings.WEBSITE_INFO["website_name"]).\
                replace("{{ link }}", request.scheme + "://" + request.META['HTTP_HOST'] + "/reset_password/t/" + user.reset_password_token)

            send_email(settings.WEBSITE_INFO["website_name"],
                       user.email,
                       user.username,
                       settings.WEBSITE_INFO["website_name"] + u" 登录信息找回邮件",
                       email_template)
            return success_response(u"邮件发送成功,请前往您的邮箱查收")
        else:
            return serializer_invalid_response(serializer)
开发者ID:adamwen829,项目名称:OnlineJudge,代码行数:37,代码来源:views.py

示例3: post

# 需要导入模块: from utils.captcha import Captcha [as 别名]
# 或者: from utils.captcha.Captcha import check [as 别名]
    def post(self, request):
        """
        提交请求重置密码
        ---
        request_serializer: ApplyResetPasswordSerializer
        """
        serializer = ApplyResetPasswordSerializer(data=request.data)
        if serializer.is_valid():
            data = serializer.data
            captcha = Captcha(request)
            if not captcha.check(data["captcha"]):
                return error_response(u"验证码错误")
            try:
                user = User.objects.get(username=data["username"], email=data["email"])
            except User.DoesNotExist:
                return error_response(u"用户不存在")
            user.reset_password_token = rand_str()
            user.save()
            email_template = codecs.open(settings.TEMPLATES[0]["DIRS"][0] + "utils/reset_password_email.html", "r", "utf-8").read()

            email_template = email_template.replace("{{ username }}", user.username).replace("{{ link }}", request.scheme + "://" + request.META['HTTP_HOST'] + "/reset_password/?token=" + user.reset_password_token)

            send_email(user.email, user.username, u"qduoj 密码找回邮件", email_template)
            return success_response(u"邮件发生成功")
        else:
            return serializer_invalid_response(serializer)
开发者ID:eduStack,项目名称:OnlineJudge,代码行数:28,代码来源:views.py

示例4: post

# 需要导入模块: from utils.captcha import Captcha [as 别名]
# 或者: from utils.captcha.Captcha import check [as 别名]
 def post(self, request):
     if request.user.is_authenticated():
         return self.error("You have already logged in, are you kidding me? ")
     data = request.data
     captcha = Captcha(request)
     if not captcha.check(data["captcha"]):
         return self.error("Invalid captcha")
     try:
         user = User.objects.get(email__iexact=data["email"])
     except User.DoesNotExist:
         return self.error("User does not exist")
     if user.reset_password_token_expire_time and 0 < int(
             (user.reset_password_token_expire_time - now()).total_seconds()) < 20 * 60:
         return self.error("You can only reset password once per 20 minutes")
     user.reset_password_token = rand_str()
     user.reset_password_token_expire_time = now() + timedelta(minutes=20)
     user.save()
     render_data = {
         "username": user.username,
         "website_name": SysOptions.website_name,
         "link": f"{SysOptions.website_base_url}/reset-password/{user.reset_password_token}"
     }
     email_html = render_to_string("reset_password_email.html", render_data)
     send_email_async.delay(from_name=SysOptions.website_name_shortcut,
                            to_email=user.email,
                            to_name=user.username,
                            subject=f"Reset your password",
                            content=email_html)
     return self.success("Succeeded")
开发者ID:joeyac,项目名称:OnlineJudge,代码行数:31,代码来源:oj.py

示例5: post

# 需要导入模块: from utils.captcha import Captcha [as 别名]
# 或者: from utils.captcha.Captcha import check [as 别名]
 def post(self, request):
     serializer = ResetPasswordSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.data
         captcha = Captcha(request)
         if not captcha.check(data["captcha"]):
             return error_response(u"验证码错误")
         try:
             user = User.objects.get(reset_password_token=data["token"])
         except User.DoesNotExist:
             return error_response(u"token 不存在")
         if (now() - user.reset_password_token_create_time).total_seconds() > 30 * 60:
             return error_response(u"token 已经过期,请在30分钟内重置密码")
         user.reset_password_token = None
         user.set_password(data["password"])
         user.save()
         return success_response(u"密码重置成功")
     else:
         return serializer_invalid_response(serializer)
开发者ID:ArchFeh,项目名称:OnlineJudge,代码行数:21,代码来源:views.py

示例6: post

# 需要导入模块: from utils.captcha import Captcha [as 别名]
# 或者: from utils.captcha.Captcha import check [as 别名]
 def post(self, request):
     serializer = ApplyResetPasswordSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.data
         captcha = Captcha(request)
         if not captcha.check(data["captcha"]):
             return error_response(u"验证码错误")
         try:
             user = User.objects.get(username=data["username"], email=data["email"])
         except User.DoesNotExist:
             return error_response(u"用户不存在")
         user.reset_password_token = rand_str()
         user.save()
         # todo
         email_template = open(settings.TEMPLATES[0]["DIRS"][0] + "utils/reset_password_email.html", "r").read()
         email_template.replace("{{ username }}", user.username).replace("{{ link }}", "/reset_password/?token=" + user.reset_password_token)
         return success_response(u"邮件发生成功")
     else:
         return serializer_invalid_response(serializer)
开发者ID:Timeship,项目名称:OnlineJudge-QDU,代码行数:21,代码来源:views.py

示例7: post

# 需要导入模块: from utils.captcha import Captcha [as 别名]
# 或者: from utils.captcha.Captcha import check [as 别名]
 def post(self, request):
     form = UserRegisterForm(request.POST)
     if form.is_valid():
         data = form.cleaned_data
         captcha = Captcha(request)
         if not captcha.check(data['captcha']):
             return info_page(request, '验证码错误')
         try:
             Customer.objects.get(Username=data['Username'])
             return info_page(request, '用户已经存在')
         except Customer.DoesNotExist:
             pass
         try:
             Customer.objects.get(Email=data['Email'])
             return info_page(request, '该邮件已经注册')
         except Customer.DoesNotExist:
             pass
         user = Customer.objects.create(Username=data['Username'], Email=data['Email'], Balance=0,
                                        Telephone=data['Telephone'], Nickname=data['Nickname'], Password=data['Password'])
         request.user = user
         request.session['user_id'] = user.id
         return info_page(request, "注册成功")
     else:
         return info_page(request, "数据格式不合法")
开发者ID:spxcds,项目名称:ElecMall,代码行数:26,代码来源:views.py


注:本文中的utils.captcha.Captcha.check方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。