2010-03-26 19 views
43

Ho il seguente codice del modulo:Come faccio a visualizzare gli errori di forma "__all__" di Django nel modello?

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

Come posso visualizzare gli errori dalla chiave __all__ a livello di modello, senza dover estrarlo nella vista separatamente? Voglio evitare il seguente:

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

risposta

91
{{ form.non_field_errors }} 
22

{{ form.non_field_errors }} per errori correlati a formare non schierare

{{ form.password.errors }} per errori relativi al testo-campo, come in questo caso passoword

Problemi correlati