Psionman
Psionman

Reputation: 3677

Django PasswordChangeForm not displaying message

I am using the 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})

But on success the messages.success does not appear

What can I do?

Upvotes: 0

Views: 165

Answers (1)

sachin mathew
sachin mathew

Reputation: 1457

To display messages in your template you should add it in your template

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

Upvotes: 2

Related Questions