加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

是否有任何解决方案可以将验证码添加到Django-allauth?

发布时间:2020-12-20 13:01:29 所属栏目:Python 来源:网络整理
导读:有没有使用验证码与 django-allauth的解决方案? 我想在注册表上使用验证码进行标准电子邮件密码注册. 解决方法 我也需要用django-allauth做到这一点,并发现实现 django-recaptcha包相对简单. 配置django-recaptcha 注册recaptcha account. 插入你的设置 # s
有没有使用验证码与 django-allauth的解决方案?
我想在注册表上使用验证码进行标准电子邮件密码注册.

解决方法

我也需要用django-allauth做到这一点,并发现实现 django-recaptcha包相对简单.

配置django-recaptcha

注册recaptcha account.

插入你的设置

# settings.py

RECAPTCHA_PUBLIC_KEY = 'xyz'
RECAPTCHA_PRIVATE_KEY = 'xyz'

RECAPTCHA_USE_SSL = True     # Defaults to False

自定义SignupForm

在安装了django-recaptcha之后,我跟着一些(看似过时的)guidelines来定制SignupForm.

from django import forms
from captcha.fields import ReCaptchaField

class AllauthSignupForm(forms.Form):

    captcha = ReCaptchaField()

    def signup(self,request,user):
        """ Required,or else it throws deprecation warnings """
        pass

您还需要告诉allauth从settings.py中的此表单继承

ACCOUNT_SIGNUP_FORM_CLASS = 'myapp.forms.AllauthSignupForm'

连接注册表单模板

此时,{{form.captcha}}和{{form.captcha.errors}}应该可以在注册模板上下文中使用.

就是这样!似乎所有验证逻辑都隐藏在ReCaptchaField中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读