2010-09-14 89 views
1

我是Django的新手。我正在编写一个具有表单的示例应用程序,将该表单提交并将数据保存到数据库中。我的表单需要在允许保存数据之前进行验证。所以我的问题是如何将错误消息(验证生成的)传递给视图?任何建议都是值得欢迎的。谢谢!解析错误消息给Django模板?

回答

3

您使用的是Form实例吗?然后,您可以在模板中渲染表单,并自动显示错误消息。例如:

# views.py 
def my_view(request, *args, **kwargs): 
    if request.method == 'POST': 
     form = MyForm(request.POST.copy()) 
     if form.is_valid(): 
      # Save to db etc. 
    elif request.methof == 'GET': 
     form = MyForm() 

    return render_to_response(..., {'form' : form}) 

而且在模板:

{{ form.as_p }} 

你会注意到,如果形式不VALD(is_valid()返回False),那么该观点出发返回的形式(有错误)到模板。当调用form.as_p时,错误将在模板中呈现。

** **更新

正如@Daniel说:

即使你不使用form.as_p,就可以得到整个表单的错误与form.errors并与form.fieldname.errors每个字段。

+2

即使你不使用'form.as_p',你可以通过'form.errors'和'form.fieldname.errors'为每个字段获取整个表单的错误。 – 2010-09-14 08:31:40

+0

@Daniel:对。将更新我的答案。谢谢。 – 2010-09-14 09:23:30