发布于2019-09-09 18:52 阅读(1233) 评论(0) 点赞(6) 收藏(0)
我想在模板中使用{{form.errors}}列出所有表单错误。这将生成一个表单字段列表和每个字段的错误的嵌套列表。但是,使用该字段的文字名称。在特定字段中生成的带有错误的html可能如下所示。
<ul class="errorlist">
<li>
target_date_mdcy
<ul class="errorlist">
<li>This field is required.</li>
</ul>
</li>
</ul>
我想使用错误列表功能,因为它很简单。但是,我想使用标签(比如说“目标日期”)而不是字段名称。实际上,我想不出你希望为网页用户显示字段名称的情况。有没有办法使用带有字段标签的渲染错误列表?
我没有看到一个简单的方法来做到这一点。
表单的errors属性实际上返回一个ErrorDict
定义的类django.forms.utils
- 它是一个dict
知道的子类,它将自身的ul呈现作为其unicode表示。但键实际上是字段名称,这对于维护其他行为很重要。因此它无法轻松访问字段标签。
您可以定义一个自定义模板标记,它接受表单以生成您喜欢的呈现,因为在Python代码中,很容易获得给定表单和字段名称的字段标签。或者,您可以在视图中按标签构造错误列表,将其添加到您的上下文中,然后使用它。
再次编辑,您可以迭代字段并检查其各自的错误,记住也要显示non_field_errors
。就像是:
<ul class="errorlist">
{% if form.non_field_errors %}
<li>{{ form.non_field_errors }}</li>
{% endif %}
{% for field in form %}
{% if field.errors %}
<li>
{{ field.label }}
<ul class="errorlist">
{% for error in field.errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
</li>
{% endif %}
{% endfor %}
</ul>
您可能希望将non_field_errors包装在列表中,具体取决于。
作者:黑洞官方问答小能手
链接:https://www.pythonheidong.com/blog/article/105017/831806e6a241986e01eb/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!