是否有一种简单的方法来获取有关Django表单集的错误消息中的字段标签。我可以像这样正常形式进行操作:
{% if form.errors %}
{% for field in form %}
{% for error in field.errors %}
<div class="alert alert-danger">
<strong>{{ field.label }}: {{ error|escape }}</strong>
</div>
{% endfor %}
{% endfor %}
{% for error in form.non_field_errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endif %}
但是,我想要相同的表单集。我最接近的是
{% if formset.errors %}
{% for dict in formset.errors %}
{% for field, error in dict.items %}
<div class="alert alert-danger">
<strong>{{ field }}: {{ error|escape }}</strong>
</div>
{% endfor %}
{% endfor %}
{% endfor %}
{% for error in formset.non_field_errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endif %}
但是,这给了我字段名称(例如pub_date
)而不是标签(例如发布日期)。任何帮助,不胜感激!
答案 0 :(得分:0)
我看不到在模板中从字段字符串获取字段实例的简单方法,因此您可能不得不遍历表单和字段而不是formset.errors
:
{% if formset.errors %}
{% for form in formset %}
{% for field in form %}
{% if field.errors %}
<div class="alert alert-danger">
<strong>{{ field.label }}: {{ field.errors|escape }}</strong>
</div>
{% endif %}
{% endfor %}
{% endfor %}
{% for error in formset.non_field_errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endif %}