2014-02-17 19 views
0

我幾天來一直在學習Django,並且我已經到了不再需要默認表單功能的地步(它們在模板,有效性,錯誤消息等中顯示的方式)。所以我使用django給我的工具來定製所有這些。然而,通過這樣做,我最終得到的代碼比我之前使用過的表單還要長!Django - django表單使用的優點是什麼?

在複雜項目中使用表單而不使用它們(以及處理request.POST/GET和東西)是否有優勢?

,首先想到
+0

檢查此:http://stackoverflow.com/questions/16868300/when-to-use-django-forms-vs-manual-forms/16868358#16868358 – karthikr

回答

2

最大優點:

校驗器爲形式和字段

上面包括:

  • 拒絕錯誤的輸入(缺少的字段等)。
  • 自動生成錯誤消息,並將其綁定到相應的模板對象
  • 包含良好的數據(這是非常糟糕的,當訪問者必須重新輸入,只是因爲他們得到了一個字段錯誤的形式)
重新填充等領域

當然,所有這些都可以從視圖中「手動」實現,但IMO表單更優雅。

其他好處,對於更復雜的情況:

  • 表單集 - 用於顯示一次(即同一類的幾種對象的同時編輯)
  • 無縫相同類型的多個窗體在一個視圖(前綴)
  • 可能性多種形式的使用再利用小工具(自定義窗口小部件),或任何第三方控件插入
  • 對於形式非常複雜的景觀:真棒django-extra-views
  • ModelForms(名單將是不完整的話)

最後,而應該永遠是第一位,但它可能永遠不會是(在我自己的EXP,反正):

  • 分隔項目的邏輯層,並保持代碼清潔,遵守約定和最佳實踐。
+0

如果只是驗證器,他們是值得的。 –