Django LoginView不断刷新显示表单错误消息

时间:2019-04-01 15:02:00

标签: python django loginview

使用Django的内置LoginView,我想在错误登录时显示一条错误消息。这很好。但是,刷新登录页面后,错误消息仍然存在。

我想在用户刷新页面时删除此错误消息。

urls.py

from django.urls import path
from django.contrib.auth.views import LoginView

urlpatterns = [
    path('login/', LoginView.as_view(template_name='login.html'), name="login"),
]

login.html

{% if form.non_field_errors %}
  <div class="alert alert-danger" role="alert">
    {% for error in form.non_field_errors %}
      <p>{{ error }}</p>
    {% endfor %}
  </div>
{% endif %}

<form method="post" action="{% url 'accounts:login' %}">
            {% csrf_token %}
            <p><input type="text" name="username" autofocus="" required="" id="id_username" placeholder="username"></p>

            <p><input type="password" name="password" required="" id="id_password" placeholder="password"></p>

            <button type="submit" value="Login">Login</button>
            <a id="signup-btn" href="{% url 'accounts:signup' %}"">Don't have an account? Sign up</a>
 </form>

正在打印的错误消息: '请输入正确的用户名和密码。请注意,两个字段都可能区分大小写。'

任何帮助将不胜感激。

修改: 抱歉让您感到困惑,我已更新问题以澄清问题。

1 个答案:

答案 0 :(得分:0)

我使用了您自己的代码,我所做的是添加一个带有 data-dispats 属性的按钮以在需要时关闭引导程序警报,完整的元素如下所示:

{% if form.non_field_errors %}
   <div class="alert alert-danger" role="alert">
  <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
        {% for error in form.non_field_errors %}
             <p>{{ error }}</p>
        {% endfor %}
      </div>
 {% endif %}