Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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
Python 如何使用Django中的确认码更新电子邮件地址?_Python_Django_Django Rest Framework_Django Allauth_Django Rest Auth - Fatal编程技术网

Python 如何使用Django中的确认码更新电子邮件地址?

Python 如何使用Django中的确认码更新电子邮件地址?,python,django,django-rest-framework,django-allauth,django-rest-auth,Python,Django,Django Rest Framework,Django Allauth,Django Rest Auth,我使用的所有功能来注册、登录、确认电子邮件地址、更改密码、重置密码等等。不幸的是,库不支持更改电子邮件地址。我希望经过身份验证的用户首先输入帐户密码和新的电子邮件地址。认证成功后,我想向用户发送一个特别生成的确认码。只有当他输入时,旧的电子邮件地址才会更改为新的。据我所知,dj rest auth中没有这样的功能。不幸的是,我还没有在任何地方找到任何用于此目的的当前解决方案或库。有没有人有这样的问题,可以在这里分享他的解决方案?提前谢谢你。虽然我没有任何准确的解决方案,但这里有一个替代方案。 您

我使用的所有功能来注册、登录、确认电子邮件地址、更改密码、重置密码等等。不幸的是,库不支持更改电子邮件地址。我希望经过身份验证的用户首先输入帐户密码和新的电子邮件地址。认证成功后,我想向用户发送一个特别生成的确认码。只有当他输入时,旧的电子邮件地址才会更改为新的。据我所知,
dj rest auth
中没有这样的功能。不幸的是,我还没有在任何地方找到任何用于此目的的当前解决方案或库。有没有人有这样的问题,可以在这里分享他的解决方案?提前谢谢你。

虽然我没有任何准确的解决方案,但这里有一个替代方案。 您可以使用django all auth和一些电子邮件后端向新添加的电子邮件发送电子邮件以确认新电子邮件。在发送的电子邮件中,将有一个确认链接,用户必须单击该链接以确认新电子邮件。 使用django all auth后,您只需添加一个电子邮件后端,这将有助于发送电子邮件。Rest将由所有auth维护。 例如, 在your settings.py中,您可以添加SMTP电子邮件后端,以从选定的gmail帐户发送电子邮件。 将这些代码行添加到settings.py

EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = DEFAULT_FROM_EMAIL = 'HOST_EMAIL' #HOST_EMAIL is your email from which you want to send email to the user.
EMAIL_HOST_PASSWORD = 'HOST_PASSWORD' #HOST_PASSWORD is the password of the email you are using as HOST_EMAIL
但在完成所有这些工作后,要使其在本地工作,您需要转到您的google帐户,您将其用作电子邮件的主机。转到管理谷歌帐户>安全>打开不太安全的应用程序。然后,您将能够向用户发送电子邮件。 注意:如果您为您的google帐户启用了双因素身份验证,则这些步骤将不起作用。这种类型的帐户有一些不同的设置