1

django-registration の password_reset_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 token %}">
        Reset password
        </a>
    </p>
</body>
{% blocktrans %}

Django は URL を取得していますが、{{site.domain}} は取得していません。それでも、登録プロセスに同じコードがある場合 {{site.domain}} は有効でした。password_reset_email.html と登録プロセスの違いは何ですか?

ありがとう。

4

1 に答える 1

2

django-registration(というかdjango.contrib.auth) 電子メールのレンダリングにコンテキスト プロセッサを使用しません。{{ site }}レンダリング中に手動でコンテキストに追加する必要があります。django-registration基本的に、の 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'),
....                       
于 2015-12-10T23:08:12.960 に答える