提问人:cosmoscoder 提问时间:10/2/2023 更新时间:10/2/2023 访问量:24
如何在模板中显示“Django 身份验证系统”的错误?
How to display the errors of the "Django authentication system" in a template?
问:
我为我的项目使用 Django 身份验证系统。 根据模板的结构,我必须单独使用表单字段。这是注册模板:
<section class="form-container___auth">
<div class="form-container">
<img src="{% static './images/white-logo-all.png'%}" />
<p class="title">ثبت نام دانش آموز</p>
<form class="form" method="post" action="">
{% csrf_token %}
<div class="input-group">
<label for="email">ایمیل</label>
<input type="email" name="{{ form.email.name }}" id="{{ form.email.id_for_label }}" placeholder="" value="{{ form.email.key }}">
</div>
<div class="input-group">
<label for="email">نام کاربری</label>
<input type="text" name="{{ form.username.name }}" id="{{ form.username.id_for_label }}" placeholder="" value="{{ form.username.key }}">
</div>
<div class="input-group">
<label for="password">رمز عبور</label>
<input type="password" name="{{ form.password1.name }}" id="{{ form.password1.id_for_label }}" placeholder="" value="{{ form.password1.key}}">
</div>
<div class="input-group">
<label for="password">تکرار رمز عبور</label>
<input type="password" name="{{ form.password2.name }}" id="{{ form.password2.id_for_label }}" placeholder="" value="{{ form.password2.key}}">
</div>
<button type="submit" class="sign">ثبت نام</button>
</form>
<div class="social-message">
<div class="line"></div>
<p class="message">ورود</p>
<div class="line"></div>
</div>
<p class="signup">.اگر حساب کاربری دارید ، وارد سایت شوید
<a rel="noopener noreferrer" href="{% url 'login' %}" class="">ورود</a>
</p>
</div>
</section>
Django 身份验证系统会检测错误并将其提供给您,但我不知道如何显示模板中每个字段的错误。现在如何显示错误?
答:
2赞
willeM_ Van Onsem
10/2/2023
#1
就像任何其他表单一样,所以你可以手动渲染表单 [Django-doc],对于每个字段,你可以通过以下命令访问错误:form
{{ form.fieldname.errors }}
对于不特定于字段的字段,我们可以使用:
{{ form.non_field_errors }}
还可以通过枚举错误来控制呈现错误:
{% for error in form.fieldname.errors %}
<li><strong>{{ error|escape }}</strong></li>
{% endfor %}
评论
{{ form.fieldname.errors }}
{{ form.non_field_errors }}