对于带有 Pyramid Web 框架的新(Python)Web 应用程序,我想使用表单绑定和验证库,到目前为止找到了 simpleform和shape。有没有人有这方面的经验,可以告诉我为什么我应该选择其中一个?我没有使用 ORM,只是 POPO 可以这么说。
我想我现在更喜欢最简单的。
对于带有 Pyramid Web 框架的新(Python)Web 应用程序,我想使用表单绑定和验证库,到目前为止找到了 simpleform和shape。有没有人有这方面的经验,可以告诉我为什么我应该选择其中一个?我没有使用 ORM,只是 POPO 可以这么说。
我想我现在更喜欢最简单的。
我没有丰富的经验,但到目前为止,这是我所学到的。
他们都使用滤锅(我非常喜欢)来定义和验证表单。在我看来,真正让它们与众不同的是它们的渲染机制。在这方面,变形是最直接的,因为它允许您通过在模板中执行 form.render() 来渲染整个表单。另一方面,使用 simpleform,您必须手动呈现每个字段。根据您的需要,这可能是好事也可能是坏事。
simpleform 的一个缺点是目前没有明确的方法来处理模板中的序列模式。
编辑:另外,在我看来,变形有更好的文档可用。
我还没有使用过 simpleform,但我一直在为我目前正在从事的项目使用变形。变形允许您从滤锅模式渲染模板,这非常方便。此外,如果架构被违反,您可以简单地调用ValidationFailure.render()
(在捕获ValidationFailure
异常之后),并且可以使用表单呈现您可以自定义的消息。我目前正在努力在渲染整个表单和逐个渲染之间做出选择。如果您可以将组件组合在一起进行渲染,那就太好了。
虽然这是第三种选择,但您考虑过 ToscaWidgets2吗?
从简单形式和变形的快速浏览来看,在我看来,Toscwidgets2 在功能和简单性方面是这两者之间的黄金中间。
甚至还有一个使用 Pyramid 的教程,只需删除数据库部分并将表单值作为字典提供。
供您参考,变形由以下人员使用: