django 使用dj-rest-auth处理邮件验证

368yc8dk  于 2023-04-07  发布在  Go
关注(0)|答案(1)|浏览(193)

我可以得到一个验证电子邮件到新注册的电子邮件帐户。我也可以验证新的电子邮件,但不是直接从电子邮件中发送的链接。原因是确认链接应该用post方法调用,如文档中所述。
我在 * url.py * 文件中的urlpatterns列表有以下两个元素:

urlpatterns = [
...,
...,
path('registration/', RegisterView.as_view(), name='account_signup'),
re_path(r'^account-confirm-email/', VerifyEmailView.as_view(),
 name='account_email_verification_sent')
]

为了了解更多信息,我使用Django作为后端和前端框架。
我想要的是电子邮件验证重定向到前端中的页面,并从那里发送帖子请求。有没有办法实现这一点?如何发送自定义电子邮件?如何有一个自定义注册和确认电子邮件视图?

mwg9r5ms

mwg9r5ms1#

您可以自定义验证链接-电子邮件中的URL,方法是覆盖get_email_confirmation_url
示例:

from allauth.account.adapter import DefaultAccountAdapter

class CustomAccountAdapter(DefaultAccountAdapter):

    def get_email_confirmation_url(self, request, emailconfirmation):

        """
            Changing the confirmation URL to fit the domain that we are working on
        """

        url = (
            "https://example.com/verify-account/"
            + emailconfirmation.key
        )
        return url

同时在settings.py文件中添加以下行:

ACCOUNT_ADAPTER = "users.views.CustomAccountAdapter"

the users是Django中实现了 * 自定义Acount适配器 * 的应用程序的名称。文档在这里了解更多细节。

相关问题