Pyramid Web フレームワークを使用した新しい (Python) Web アプリケーションの場合、フォームバインディングと検証ライブラリを使用したいと思います。誰でもこれらの経験があり、どちらかを選択する必要がある理由を教えてもらえますか? 私は ORM を使用していません。いわば POPO だけです。
私は今のところ最も簡単なものを好むと思います。
Pyramid Web フレームワークを使用した新しい (Python) Web アプリケーションの場合、フォームバインディングと検証ライブラリを使用したいと思います。誰でもこれらの経験があり、どちらかを選択する必要がある理由を教えてもらえますか? 私は ORM を使用していません。いわば POPO だけです。
私は今のところ最も簡単なものを好むと思います。
どちらも豊富な経験はありませんが、これまでに学んだことです。
どちらもフォームの定義と検証にザル(私はとても気に入っています)を使用しています。私の意見では、それらを本当に際立たせているのは、それらのレンダリングメカニズムです。この点で、deformは、テンプレートでform.render()を実行するだけでフォーム全体をレンダリングできるという意味で、最も簡単です。一方、simpleformでは、各フィールドを手動でレンダリングする必要があります。これは、必要なものに応じて、良いことでも悪いことでもあります。
simpleformの欠点は、現在、テンプレートでシーケンススキーマを処理する明確な方法がないことです。
編集:また、私の意見では、deformにはより良いドキュメントがあります。
simpleform はまだ使用していませんが、現在取り組んでいるプロジェクトでは変形を使用しています。変形を使用すると、非常に便利な水切りスキーマからテンプレートをレンダリングできます。また、スキーマに違反している場合は、ValidationFailure.render()(例外をキャッチした後にValidationFailure) 単純に呼び出すことができ、カスタマイズ可能なメッセージがフォームと共にレンダリングされます。現在、フォーム全体をレンダリングするか、1 つずつレンダリングするかの選択に取り組んでいます。レンダリングのためにコンポーネントをグループ化できれば、非常に便利です。
3 番目の選択肢ですが、 ToscaWidgets2を検討しましたか?
シンプルフォームとデフォームを一目見ただけで、Toscawidgets2 は、機能とシンプルさの点で、この 2 つの中間に位置するように思えます。
Pyramid でそれを使用するためのチュートリアルもあります。データベース部分をドロップして、フォームの値を dict として指定するだけです。
参考までに、変形は次のように使用されます。