PasswordChangeView 在 Django 中不显示成功消息
PasswordChangeView Doesn't Show Success Message in Django
我在这个 PasswordChangeView 上尝试了一些不同的东西,但即使使用 SuccessMessageMixin 仍然无法显示正确的成功消息
消息有效,但在单击提交按钮后无效,它会在您再次返回密码更改后显示消息 url,并显示空白的密码更改表单和成功消息。
我想要实现的是,当 he/she 在提交按钮后单击时,我想向用户显示消息。
可能答案很简单,但我是新手,现在不知道如何处理表单中的错误和成功消息。
一切正常完美更改密码并在休眠 1 秒后重定向。
感谢所有帮助。
class PasswordChange(SuccessMessageMixin,PasswordChangeView):
model = User
form_class = PasswordChangeForm
template_name = "passwordchange.html"
success_message = "Password Changed Successfully You will be redirected in 1 second"
success_url = reverse_lazy("password_change_done")
class PasswordDone(PasswordChangeDoneView):
template_name = "password_change_done.html"
def dispatch(self, request, *args, **kwargs):
if self.request.user.is_authenticated:
sleep(1)
return redirect("posts")
return super(PasswordDone,self).dispatch(request, *args, **kwargs)
表格代码
<body>
{{ request.user }}
<form method="POST">
{% csrf_token %}
{{ form.as_p}}
<input type="submit" value="submit">
</form>
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{
message }}</li>
{% endfor %}
</ul>
{% endif %}
</body>
谢谢大家解决了
我搬家了
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message
}}</li>
{% endfor %}
</ul>
{% endif %}
到帖子页面并显示消息。
我在这个 PasswordChangeView 上尝试了一些不同的东西,但即使使用 SuccessMessageMixin 仍然无法显示正确的成功消息
消息有效,但在单击提交按钮后无效,它会在您再次返回密码更改后显示消息 url,并显示空白的密码更改表单和成功消息。
我想要实现的是,当 he/she 在提交按钮后单击时,我想向用户显示消息。 可能答案很简单,但我是新手,现在不知道如何处理表单中的错误和成功消息。
一切正常完美更改密码并在休眠 1 秒后重定向。
感谢所有帮助。
class PasswordChange(SuccessMessageMixin,PasswordChangeView):
model = User
form_class = PasswordChangeForm
template_name = "passwordchange.html"
success_message = "Password Changed Successfully You will be redirected in 1 second"
success_url = reverse_lazy("password_change_done")
class PasswordDone(PasswordChangeDoneView):
template_name = "password_change_done.html"
def dispatch(self, request, *args, **kwargs):
if self.request.user.is_authenticated:
sleep(1)
return redirect("posts")
return super(PasswordDone,self).dispatch(request, *args, **kwargs)
表格代码
<body>
{{ request.user }}
<form method="POST">
{% csrf_token %}
{{ form.as_p}}
<input type="submit" value="submit">
</form>
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{
message }}</li>
{% endfor %}
</ul>
{% endif %}
</body>
谢谢大家解决了
我搬家了
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message
}}</li>
{% endfor %}
</ul>
{% endif %}
到帖子页面并显示消息。