如何在清除數據後向表單頂部添加錯誤?我有一個對象需要對外部應用程序(谷歌地圖)進行REST調用作爲預保存條件,這可能會失敗,這意味着我需要我的用戶更正表單中的數據。所以我清理的數據,然後嘗試保存並添加到窗體錯誤如果保存不起作用:向Django表單錯誤添加錯誤.__ all__
if request.method == "POST":
#clean form data
try:
profile.save()
return HttpResponseRedirect(reverse("some_page", args=[some.args]))
except ValueError:
our_form.errors.__all__ = [u"error message goes here"]
return render_to_response(template_name, {"ourform": our_form,},
context_instance=RequestContext(request))
這未能返回我的單元測試的錯誤文本(這是在尋找它{{form.non_field_errors}}),然後當我通過調試器運行時,當它們到達render_to_response行時,錯誤沒有被添加到窗體錯誤字典中,也沒有添加到our_form樹中的任何其他位置。爲什麼這不工作?如何在清理後將錯誤添加到表單頂部?
不幸的是,它必須更加系統化,當系統的其他部分試圖更改數據時,可能會發生此更新,因此它不僅僅是一種形式。 否則,你是對的,表單將是理想的。 – hendrixski 2010-03-04 03:48:02
不應該總是使用繼承的表單來進行驗證嗎? – 2012-05-07 09:47:08