django - Django PasswordChangeForm 不显示消息
问题描述
我正在使用 Django PasswordChangeForm
def change_password(request):
if request.method == 'POST':
form = PasswordChangeForm(request.user, request.POST)
if form.is_valid():
user = form.save()
update_session_auth_hash(request, user) # Important!
messages.success(request, 'Your password was successfully updated!')
return redirect('change_password')
else:
messages.error(request, 'Please correct the error below.')
else:
form = PasswordChangeForm(request.user)
url = 'registration/change_password.html'
return render(request, url, {'form': form})
但是成功时,messages.success不会出现
我能做些什么?
解决方案
要在模板中显示消息,您应该将其添加到模板中
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
推荐阅读
- sql-server - 本地与 Azure SQL 服务器性能
- javascript - Typescript 要求对来自 API 调用的嵌套的、Zod 验证的对象进行索引签名
- c# - C#如何匹配来自不同类的泛型类型
- r - 在 Jamovi (jmv) 中读取导入数据帧的变量名称
- django - 在 Django 模型的 Meta 类中定义 models.Index 或 models.UniqueConstraint 是否有任何意义,如果 managed = False
- postgresql - 当我在 POSTGRESQL 中更改某些 TABLE2 行时,如何更新 TABLE1 行?
- python - 如何将fasta文件转换为熊猫数据框?
- windows - 自动运行 Delphi 程序在 C:\windows\system32 中运行
- python - tkinter:如何使用一个垂直滚动条滚动两个画布?
- oracle - 无法在 APEX 上启用 JavaScript MLE