- Получить электронное письмо от пользователя.
- Отправить сброс пароля. ссылка
- Получите ссылку и измените пароль со стороны пользователя.
- Успешно зарегистрируйте новый пароль.
первые два шага (1 и 2) должны выполняться в одном субдомене, а следующие два шага (3 и 4) должны выполняться в следующем субдомене.
Я получаю класс сброса пароля, чтобы внести некоторые изменения. :
Код: Выделить всё
class CustomPasswordResetView(PasswordResetView):
template_name = "registration/password/password_set_form.html"
email_template_name = "registration/password/password_set_email.html"
subject_template_name = "registration/password/password_set_subject.html"
success_url = reverse_lazy('auth_staff:password_reset_done')
def dispatch(self, request, *args, **kwargs):
# Retrieve the username from the URL kwargs
self.username = kwargs.get('username')
if not self.username:
raise Http404("Username not provided in the URL.")
return super().dispatch(request, *args, **kwargs)
Код: Выделить всё
{% load i18n %}{% autoescape off %}
{% blocktranslate %}You're receiving this email because you requested a password set for your user account at {{ site_name }}.{% endblocktranslate %}
{% translate "Please go to the following page and choose a new password:" %}
{% block reset_link %}
{{ protocol }}://{{ domain }}{% url 'auth_staff:password_reset_confirm' uidb64=uid token=token %}
{% endblock %}
{% translate 'Your username, in case you’ve forgotten:' %} {{ user.get_username }}
{% translate "Thanks for using our site!" %}
{% blocktranslate %}The {{ site_name }} team{% endblocktranslate %}
{% endautoescape %}
Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-django