2010-03-26 60 views
43

我有以下形式的代码:如何在模板中显示Django'__all__'表单错误?

# 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 }} 

我如何可以显示在模板水平的关键__all__的错误,而无需提取它在单独的看法?我想避免如下:

if form.errors.has_key('__all__'): 
     print form.errors['__all__'] 

回答

91
{{ form.non_field_errors }} 
22

{{ form.non_field_errors }}相关,形成不可现场

{{ form.password.errors }}的文本字段像passoword在这种情况下,相关的错误错误

相关问题