密码更改完成视图剂量不重定向到" change password done page"



在类基视图"django"我有一个问题,后邮件与"PasswordResetView"django跳转到登录页面,但是它必须显示"passwordchangedoneview">

视图:

class UserPassReset(PasswordResetView):
template_name = 'accounts/password_reset_form.html'
success_url   = reverse_lazy('accounts:PasswordChangeDone')
#success_url = 'done'
email_template_name = 'accounts/password_reset_email.html'

class PasswordChangeDone( PasswordChangeDoneView):
template_name='accounts/password_reset_done.html'

网址:

path('login/', views.UserLogin.as_view() , name='UserLogin'),
path('passreset/', views.UserPassReset.as_view() , name='UserPassReset'),
path('passreset/done', views.PasswordChangeDone.as_view(), name='PasswordChangeDone'), 

HTML重置密码:

{% block content %}
<h3>Enter Email </h3>
<form action="" method="POST">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Send">
</form>
{% endblock %}

我想你是混淆了密码更改&视图。

此视图用于在更改密码后重定向:

PasswordChangeDoneView

当你重设密码后重定向时使用这个视图:

PasswordResetCompleteView

这是内置视图,所以你必须导入&然后直接在urls.py中使用它,像这样:

from django.contrib.auth import views as auth_views
path('passreset/done', auth_views.PasswordResetCompleteView.as_view
(template_name='accounts/password_reset_done.html'), name='passreset_done'),

最新更新