對於使用Pyramid Web框架的新(Python)Web應用程序,我想使用表單綁定和驗證庫,到目前爲止找到了simpleform和deform。有沒有人有這些經驗,並可以告訴我爲什麼我應該選擇一個或另一個?我沒有使用ORM,只是POPO這麼說。金字塔:簡單或變形?
我想我現在更喜歡最簡單的方法。
對於使用Pyramid Web框架的新(Python)Web應用程序,我想使用表單綁定和驗證庫,到目前爲止找到了simpleform和deform。有沒有人有這些經驗,並可以告訴我爲什麼我應該選擇一個或另一個?我沒有使用ORM,只是POPO這麼說。金字塔:簡單或變形?
我想我現在更喜歡最簡單的方法。
我還沒有豐富的經驗,但到目前爲止,這是我所學到的。
它們都使用漏勺(我非常喜歡)來定義和驗證表單。在我看來,真正將它們分開的是它們的渲染機制。在這方面,變形是最直接的,因爲它允許您通過在模板中執行form.render()來渲染整個表單。另一方面,使用簡單形式,您必須手動呈現每個字段。這可能是一個好或壞的事情取決於你需要什麼。
簡單形式的缺點是目前沒有明確的方式來處理模板中的序列模式。
編輯:此外,在我看來,變形有更好的文檔可用。
Addentum:simpleform似乎不再使用變形。其餘的考慮依然成立。 – madjar 2012-11-08 09:42:49
我還沒有使用simpleform,但我一直在使用我目前正在研究的項目的變形。變形允許您從漏勺模式渲染模板,這非常方便。另外,如果違反了模式,您可以簡單地調用ValidationFailure.render()
(在捕獲ValidationFailure
異常之後),並且可以使用表單呈現一條您可以自定義的消息。我現在正努力在渲染整個表單並逐件渲染它之間做出選擇。如果您可以將組件組合在一起進行渲染,那將非常好。
雖然這是第三種選擇,但是你認爲是ToscaWidgets2?
從簡單的形狀和變形的快速瀏覽,在我看來,Toscawidgets2是這兩個之間的特點和簡單的中間golde。
甚至還有一個tutorial for using it with Pyramid,只需刪除數據庫部分並提供表單值作爲字典。
爲了您的信息,變形所使用的:
另外[wtforms](http://wtforms.simplecodes.com/) 。我已經在幾個金字塔應用程序中使用過它們,並且很滿意它們。這裏可能有很多主觀性,但FWIW wtforms相對成熟,所以值得參與討論。 – chris 2013-02-03 19:15:02
@george最佳發佈作爲答案我認爲,更多的人會看到它,並可以給他們的反饋 – 2013-02-04 00:12:48