Django电子邮件验证-自定义电子邮件HTML和404未找到帐户/配置文件/

时间:2019-03-14 03:30:12

标签: django-allauth django-rest-auth

我有两个问题。电子邮件验证效果很好,但是我想自定义发送给用户的电子邮件。这是电子邮件的内容:

  

你好,来自本地主机!

     

您正在收到此电子邮件,因为用户测试已将您的电子邮件作为   电子邮件地址来连接他们的帐户。

     

要确认这是正确的,请转到   http://127.0.0.1:8000/rest-auth/registration/account-confirm-email/MTE:1h4DCn:JtkrZ1wkENQIdG8ysIVu7Qx_R44/

     

感谢Localhost! https://localhost:8000/

如何创建html文件并填写要在电子邮件中发送的内容?电子邮件主题如何?

第二个问题是,当我单击链接时,用户得到了验证,但随后我在/ accounts / profile上收到404错误。

这是我的代码:

from allauth.account.views import confirm_email

urlpatterns = [
        path('accounts/', include('allauth.urls')),
        path('rest-auth/', include('rest_auth.urls')),
        url(r'^rest-auth/registration/account-confirm-email/(?P<key>[-:\w]+)/$', confirm_email),
        path('rest-auth/registration/', include('rest_auth.registration.urls')),
]

我是否必须为account / profile /添加一个url并创建一个显示电子邮件验证成功的html模板?另外,有没有办法将网址更改为帐户/验证成功/?

1 个答案:

答案 0 :(得分:1)

自定义电子邮件

您可以在此处找到使用的默认电子邮件模板:https://github.com/pennersr/django-allauth/tree/master/allauth/templates/account/email

  • 主题:email_confirmation_subject.txt
  • 文本电子邮件:email_confirmation_message.txt

您可以像其他任何模板一样在Django应用中覆盖它们。

要激活HTML,只需添加自己的文件,名称为email_confirmation_message.html

注册或仅确认电子邮件地址时,您还会收到不同的消息。

您可以查看code来了解其工作原理。

帐户/个人资料/

  

当您结束此处的操作时,您已经成功登录。但是,您将需要自己实现此URL的视图,因为此处显示的内容是项目特定的。您还可以决定重定向到其他地方:

     

https://docs.djangoproject.com/en/dev/ref/settings/#login-redirect-url

来自https://django-allauth.readthedocs.io/en/latest/faq.html#when-i-attempt-to-login-i-run-into-a-404-on-accounts-profile

由于必须自己实施配置文件,因此也可以使用accounts/verification-success/