使用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>
正在打印的错误消息: '请输入正确的用户名和密码。请注意,两个字段都可能区分大小写。'
任何帮助将不胜感激。
修改: 抱歉让您感到困惑,我已更新问题以澄清问题。
答案 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">×</span><span class="sr-only">Close</span></button>
{% for error in form.non_field_errors %}
<p>{{ error }}</p>
{% endfor %}
</div>
{% endif %}