【发布时间】:2013-11-01 12:46:28
【问题描述】:
我有 django 模板,我在其中将表单错误作为 html 写入属性 errors
form.html
{% if form.errors %}
<div class="span12">
{{form.errors}}
</div>
{% endif %}
上面模板代码的输出是这样的
html
<ul class="errorlist">
<li>price
<ul class="errorlist">
<li>price is required</li></ul>
</li>
<li>name
<ul class="errorlist">
<li>name is required</li>
</ul>
</li>
<li>description
<ul class="errorlist">
<li>description is required</li>
</ul>
</li>
设计
price
price is required
name
name is required
description
description is required
但我想以如下格式显示
{% if form.errors %}
<div class="span12">
{% for error in form.errors %}
{{key}} : {{value}}
{% endfor %}
</div>
{% endif %}
需要/需要的输出
price : price is required
name : name is required
description : description is required
谁能告诉我如何访问/使用form.errors 属性以便以上述格式打印/显示结果?
编辑
否则我们可以从如下视图发送错误字典
def render_view(request):
form = Form()
if form.is_valid():
.....
.....
render_to_response('template.html',{'errors':dict(form.errors)})
在 template.html
中{% if errors %}
{% for key in errors %}
{{key}} : {{errors.key}}
{% endfor %}
{% endif %}
{% endif %}
但是在这种情况下,字典中键的值没有显示,那么如何访问它?
【问题讨论】:
-
我记得
form.errors是像对象一样的字典,所以你可以尝试迭代它。
标签: python django forms django-templates django-errors