我将WTForms FieldList字段用于字段列表。它获取这些输入字段的值,这些值按它们在form.data中的名称排序。但是我想按它们在表单中出现的顺序获取值。覆盖process函数是我所知道的唯一解决方案。对更简单的解决方案有什么想法吗?

最佳答案

因此,HTTP规范说明了以下内容。


  零件以相应控件出现在文档流中的顺序发送到处理代理。


因此,这涉及到第一部分。第二部分是您可以做什么。 WTForms将处理Multidict形式的任何内容,特别是它需要具有getlist方法。

其余的取决于您正在使用的库。 Werkzeug项目提供了一个ImmutableOrderedMultiDict.实现,可以在PyPi存储库或github(https://github.com/gruns/orderedmultidict)上搜索到几个实现。

最后剩下的部分是您的Web服务器实现是否保留表单排序(即是否严格符合W3C规范?)这部分我不知道,因为我不知道您使用的是什么。

关于python - WTForms FieldList-获取未排序的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7952868/

10-12 19:31