PasswordResetForm
отправляет электронное письмо на основе вашего contrib.sites
. Он получает имя домена для использования и передает его в шаблон HTML на registration/password_reset_email.html
Джанго / багажник / Джанго / вно / авт / forms.py:
...
4 from django.contrib.sites.models import get_current_site
...
123 def save(self, domain_override=None, email_template_name='registration/password_reset_email.html',
124 use_https=False, token_generator=default_token_generator, from_email=None, request=None):
125 """
126 Generates a one-use only link for resetting password and sends to the user
127 """
128 from django.core.mail import send_mail
129 for user in self.users_cache:
130 if not domain_override:
131 current_site = get_current_site(request)
132 site_name = current_site.name
133 domain = current_site.domain
134 else:
135 site_name = domain = domain_override
136 t = loader.get_template(email_template_name)
137 c = {
138 'email': user.email,
139 'domain': domain,
140 'site_name': site_name,
141 'uid': int_to_base36(user.id),
142 'user': user,
143 'token': token_generator.make_token(user),
144 'protocol': use_https and 'https' or 'http',
145 }
146 send_mail(_("Password reset on %s") % site_name,
147 t.render(Context(c)), from_email, [user.email])
используйте оболочку администратора или django для изменения site
Подробнее о структуре сайта here
.
Как Django использует фреймворк сайтов
Хотя вам не обязательно
использовать структуру сайта, это сильно
поощряется, потому что Джанго берет
Преимущество этого в нескольких местах. Четное
если ваша установка Django
Включая только один сайт, вы
должно занять две секунды, чтобы создать
объект сайта с вашим доменом и
имя и укажите его идентификатор в вашем
Настройка SITE_ID.
в оболочке вы можете сделать это, выполнив:
>>> from django.contrib.sites.models import Site
>>> my_site = Site(domain='some_domain.com', name='Some Domain')
>>> my_site.save()
>>> print my_site.id
2
>>>
в ваших настройках.py:
SITE_ID = 2
или
>>> my_site = Site.objects.get(pk=1)
>>> my_site.domain = 'somedomain.com'
>>> my_site.name = 'Some Domain'
>>> my_site.save()
в ваших настройках.py:
SITE_ID = 1