我正在尝试创建一个登录页面。我使用了默认的auth_view模板。我想在登录页面中打印用户名和密码字段错误。但是无法显示它们。
我尝试使用{{form.username.errors}},但无法正常工作。但是当说{{form.error}}时,它显示如下:
__all__
Please enter a correct username and password. Note that both fields may be case-sensitive.
urls.py
path('login/', auth_views.LoginView.as_view(template_name='profiles/login.html'), name="login"),
表单模板
<div class="login-clean">
<form method="post">
<h2 class="sr-only">Login Form</h2>
<div class="illustration"><i class="icon ion-code" style="color: rgb(71,151,244);"></i></div>
{% csrf_token %}
{{form.errors}}
<div class="form-group"><input class="form-control" id="{{ form.username.id_for_label }}" type="text" name="{{ form.username.html_name }}" placeholder="username"></div>
<div class="form-group"><input class="form-control" id="{{ form.password.id_for_label }}" type="password" name="{{ form.password.html_name }}" placeholder="username"></div>
<div class="form-group"><button class="btn btn-primary btn-block" type="submit" style="background-color: rgb(71,151,244);">Log In</button></div><a class="forgot" href="#">Forgot your email or password?</a>
</form>
我也想查看错误结果,如果要设置样式,如何做?
答案 0 :(得分:0)
您可以在登录表单模板中使用它:
{% for field in form %}
{% if field.errors %}
<div class="alert alert-danger">
{{ field.label }}: {{ field.errors|striptags }}
</div>
{% endif %}
{% endfor %}