错误消息中的 Django Formset 字段标签
Posted
技术标签:
【中文标题】错误消息中的 Django Formset 字段标签【英文标题】:Django Formset field label in error messages 【发布时间】:2019-09-23 17:41:16 【问题描述】:是否有一种简单的方法可以在 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
)而不是标签(例如发布日期)。非常感谢任何帮助!
【问题讨论】:
【参考方案1】:我看不到从字段字符串到模板中的字段实例的简单方法,因此您可能必须迭代表单和字段而不是 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 %
【讨论】:
以上是关于错误消息中的 Django Formset 字段标签的主要内容,如果未能解决你的问题,请参考以下文章
Django之路——form modelform formset modelformset的各种用法
Django:如何使用 formset extra 更改标签?
django InlineFormsets错误报告,其中formset错误列表为空