代码之家  ›  专栏  ›  技术社区  ›  Thierry Lam

如何在模板中显示django'\uu all'\uu'表单错误?

  •  49
  • Thierry Lam  · 技术社区  · 14 年前

    我有以下表格代码:

    # 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__']
    
    2 回复  |  直到 13 年前
        1
  •  103
  •   Dmitry Shevchenko    14 年前
    {{ form.non_field_errors }}
    
        2
  •  26
  •   Abhaya    13 年前

    {{ form.non_field_errors }} 对于与表单非字段相关的错误

    {{ form.password.errors }} 对于与文本字段相关的错误,如本例中的passoword