Development version
Just create a new registration/password_reset_subject.txt file in the templates directory. This will override the default django object
See https://github.com/django/django/blob/master/django/contrib/auth/templates/registration/password_reset_subject.txt
and https://github.com/django/django/blob/master/django/contrib/auth/forms.py line 150
In Django 1.3
if you use internalization just add to the .po file
#: forms.py:143 #, python-format msgid "Password reset on %s" msgstr "YOUR SUBJECT HERE %s"
if you do not follow the next steps
in urls.py root folder
# change to your custom view (r'^password_reset/$', 'your_app.views.password_reset'),
in your file your_app / views.py
from django.contrib.auth.views import password_reset as django_password_reset from .forms import CustomPasswordResetForm
rewrite the save method in your_app / forms.py (I know this is NOT DRY, but should work :)
class CustomPasswordResetForm(PasswordResetForm): def save(self, domain_override=None, email_template_name='registration/password_reset_email.html', use_https=False, token_generator=default_token_generator, request=None): from django.core.mail import send_mail for user in self.users_cache: if not domain_override: current_site = get_current_site(request) site_name = current_site.name domain = current_site.domain else: site_name = domain = domain_override t = loader.get_template(email_template_name) c = { 'email': user.email, 'domain': domain, 'site_name': site_name, 'uid': int_to_base36(user.id), 'user': user, 'token': token_generator.make_token(user), 'protocol': use_https and 'https' or 'http', } send_mail(_("YOUR SUBJECT HERE %s") % site_name, t.render(Context(c)), None, [user.email])