PasswordChangeView не показывает сообщение об успехе в Django

Я попробовал несколько различных вещей на этом PasswordChangeView, но все еще не смог показать правильное сообщение об успехе даже с SuccessMessageMixin

Сообщения работают, но не после нажатия на кнопку отправки появляется сообщение после того, как вы снова вернетесь к url смены пароля и покажет пустую форму смены пароля с сообщением об успехе.

Я хочу добиться того, чтобы показывать сообщение пользователю, когда он/она нажимает на кнопку submit. Возможно, ответ довольно прост, но я новичок и пока не знаю, как обрабатывать сообщения об ошибках и успехах в формах.

Все работает идеально Меняет пароль и перенаправляет после 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 %}

Перейдите на страницу Posts и отобразится сообщение.

Вернуться на верх