Я пытаюсь настроить формы / шаблоны аутентификации django. URL / account / password_reset / (CBV: PasswordResetView) используется для ввода адреса электронной почты учетной записи. После отправки формы пользователь перенаправляется в / account / password_reset / done / (CBV: PasswordResetDoneView)
Мне нужно использовать значение электронной почты в PasswordResetDoneView. Как я могу это сделать?
Извините за вопрос новичка.
urls.py
from django.urls import path, include
from . import views
urlpatterns = [
# ...
path('accounts/password_reset/', views.CustomPasswordReset.as_view(), name='password_reset'),
path('accounts/password_reset/done/', views.CustomPasswordResetDone.as_view(), name='password_reset_done'),
# ...
]
views.py
from django.contrib.auth import views as auth_views
from .forms import LoginForm, ResetForm, NewPasswordForm
class CustomPasswordReset(auth_views.PasswordResetView):
template_name = 'authorization/password_reset_form.html'
html_email_template_name = 'authorization/password_reset_email_html.html'
email_template_name = 'authorization/password_reset_email_plain.html'
subject_template_name = 'authorization/password_reset_subject.txt'
class CustomPasswordResetDone(auth_views.PasswordResetDoneView):
template_name = 'authorization/password_reset_done.html'
# TODO. I have no idea how to get email address that was entered in 'password_reset' step
#
email = 'example@gmail.com'
mbox, mserver = email.split('@')
extra_context = {'mserver': mserver}