2010-09-14 106 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