django-rest-auth重置密码电子邮件包含“ example.com”域而不是site_domain

时间:2018-08-16 23:34:03

标签: django django-templates django-rest-auth

我在项目中使用django-rest-auth,并且希望自定义在重置密码时使用的电子邮件模板。如果我通过用户电子邮件在/rest-auth/password/reset/发送POST请求,则该请求有效,但我收到的电子邮件是:

电子邮件:

from **webmaster@localhost** via ...


...

http://**example.com**/reset/ZGJjNjU2MjAtZjdjNy00MDdjLTkyZDctZDAwZGM2M2IzMmU4/4ys-09e6403c9784bea04986/

...

基本上,我希望域example是项目的域,而发件人电子邮件是自定义电子邮件。

我看到我可以创建一个/templates/registration/password_reset_email.html文件并在那里进行更改。我需要更改的行是:

{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
  • 是否有一种无需硬编码就可以传递项目域的方法?
  • 如何将发件人的电子邮件地址更改为自定义地址?

1 个答案:

答案 0 :(得分:1)

注册使用django-allauth,而后者又使用sites框架填充电子邮件。您应该浏览到管理站点并修改默认的siteid1的那个)。

有关django-allauth,请参见post installation steps

  

为您的域添加一个Site,与settings.SITE_IDdjango.contrib.sites应用)匹配。