我是Django的新手。我正在编写一个具有表单的示例应用程序,提交该表单然后将数据保存到数据库中。在允许保存数据之前,我的表单需要进行验证。所以我的问题是如何将错误消息(由验证生成)传递给视图?欢迎任何建议。谢谢!
答案 0 :(得分: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
的每个字段获取整个表单的错误。