Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:使用电子邮件唯一约束的所有身份验证创建帐户失败。显示消息而不是给出错误_Django_Django Views_Django Allauth - Fatal编程技术网

Django:使用电子邮件唯一约束的所有身份验证创建帐户失败。显示消息而不是给出错误

Django:使用电子邮件唯一约束的所有身份验证创建帐户失败。显示消息而不是给出错误,django,django-views,django-allauth,Django,Django Views,Django Allauth,我正在使用djnago all auth创建自定义用户帐户。创建带有电子邮件和密码的帐户时,如果带有电子邮件的帐户已退出,则会出现错误(唯一约束失败:account_emailaddress.email),但我希望显示消息,说明带有此电子邮件的帐户已存在,而不是抛出错误。处理这个问题的最佳方法是什么?一般来说,我会使用AJAX为自己的视图验证和显示消息,但我不知道如何处理django all auth包。我建议您应该覆盖注册/登录表单以管理此错误。你查过文件了吗 我认为这与你的问题有关 下面给出

我正在使用djnago all auth创建自定义用户帐户。创建带有电子邮件和密码的帐户时,如果带有电子邮件的帐户已退出,则会出现错误(唯一约束失败:account_emailaddress.email),但我希望显示消息,说明带有此电子邮件的帐户已存在,而不是抛出错误。处理这个问题的最佳方法是什么?一般来说,我会使用AJAX为自己的视图验证和显示消息,但我不知道如何处理django all auth包。

我建议您应该覆盖注册/登录表单以管理此错误。你查过文件了吗

我认为这与你的问题有关

下面给出了一种相对类似的方法:

  • 创建继承
    SignupView
    并重写表单类的自定义视图
  • 创建从
    SignupForm
    继承并覆盖电子邮件验证消息的自定义表单
  • 在您自己的url.py中,在
    include('allauth.urls')
    之后添加以下内容,以覆盖
    帐户注册
    url

  • 我已经在做了。我的问题是,如果有人试图用已经存在的电子邮件创建一个帐户,那么它会抛出一个错误,但我想显示一条消息,说明有此电子邮件的帐户已经存在。有没有办法通过更改设置来实现这一点。我正在考虑在前端编写AJAX调用函数,以验证电子邮件是否已经存在,然后提交注册表单。还有比使用django all auth更好的方法吗。谢谢我不认为AJAX是必要的(尽管这是个好主意)。您需要正确定制django allauth表单和视图。您可能需要查看原始回购协议以获取灵感。我用@sreekanthkura7找到的类似方法更新了我的答案