Django注册中的密码重置可以';找不到site.domain
django注册中我的密码\u reset\u email.html如下所示:Django注册中的密码重置可以';找不到site.domain,django,django-registration,django-contrib,Django,Django Registration,Django Contrib,django注册中我的密码\u reset\u email.html如下所示: {% blocktrans %} To reset your password, please click the following link: {% endblocktrans %} <body> <p> <a href="http://{{ site.domain }}{% url 'auth_password_reset_confirm' uid tok
{% blocktrans %}
To reset your password, please click the following link:
{% endblocktrans %}
<body>
<p>
<a href="http://{{ site.domain }}{% url 'auth_password_reset_confirm' uid token %}">
Reset password
</a>
</p>
</body>
{% blocktrans %}
{%blocktrans%}
要重置密码,请单击以下链接:
{%endblocktrans%}
{%blocktrans%}
Django正在获取url,但没有{{site.domain}。然而,当我在注册过程中有相同的代码时{{site.domain}}是有效的。是什么使password_reset_email.html与注册过程不同
谢谢。
django注册
(或者更确切地说django.contrib.auth
)不使用上下文处理器来呈现电子邮件。在呈现期间,您必须手动将{{site}}
添加到上下文中。基本上,您必须自定义django注册的URL。沿着这条路线:
from django.contrib.sites.models import Site
from django.contrib.auth import views as auth_views
....
url(r'^password/reset/$', auth_views.password_reset,
{'post_reset_redirect': reverse_lazy('auth_password_reset_done'),
'extra_email_context': {'site': Site.objects.get_current()}},
name='auth_password_reset'),
....