首页 > 解决方案 > 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不会出现

我能做些什么?

标签: django

解决方案


要在模板中显示消息,您应该将其添加到模板中

{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}

推荐阅读