我有以下表单代码:
# forms.py
class SomeForm(forms.Form):
hello = forms.CharField(max_length=40)
world = forms.CharField(max_length=40)
def clean(self):
raise forms.ValidationError('Something went wrong')
# views.py
def some_view(request):
if request.method == 'POST':
form = SomeForm(request.POST)
if form.is_valid():
pass
else:
form = SomeForm()
data = {
'form': form
}
return render_to_response(
'someform.html',
data,
context_instance=RequestContext(request)
)
# someform.html
{{ form.hello }}
{{ form.hello.errors }}
{{ form.world }}
{{ form.world.errors }}
Run Code Online (Sandbox Code Playgroud)
如何__all__在模板级别显示密钥的错误,而不必单独在视图中提取它?我想避免以下情况:
if form.errors.has_key('__all__'):
print form.errors['__all__']
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Django中创建一个表单.这是有效的,但我希望所有错误都在表单的顶部,而不是在每个有错误的字段旁边.我尝试循环form.errors,但它只显示有错误的字段的名称,而不是错误消息,如"名称是必需的".
这就是我希望能够在表单顶部使用的内容:
{% if form.??? %}
<ul class="errorlist">
{% for error in form.??? %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
我会在???那里使用什么?不是errors; 只输出字段的名称.
我想在我的模板上获取非html版本中表单的错误.
默认情况下,错误是<ul class="errorlist">我要避免的总结.
无论如何要做到这一点没有大规模的代码更改?
我有一个表单,我想在for循环中显示错误.
{% for error in form.errors %}
<tr><td>{{ error }}</td></tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
通过执行此操作,{{error}}仅包含具有错误的字段名称,但不包含错误消息.如何显示错误消息?