WTForms FieldList - 获取未排序数据
我在使用 WTForms 的 FieldList
字段来处理多个输入字段。这个字段会根据输入框的名字把值整理到 form.data
里,但我希望能按照它们在表单中出现的顺序来获取这些值。我知道的唯一解决办法就是重写 process
函数。有没有更简单的解决方案呢?
1 个回答
0
HTTP规范中提到了一些内容。
这些部分会按照文档流中对应控件出现的顺序发送给处理程序。
这就解决了第一部分。第二部分是你可以做些什么。WTForms
会处理任何形式的Multidict
,特别是它需要有一个getlist
方法。
接下来的事情就要看你使用的库了。Werkzeug项目提供了一个ImmutableOrderedMultiDict
的实现,还有很多其他的实现可以在PyPi库或者GitHub上找到(https://github.com/gruns/orderedmultidict)。
最后一个问题是你的网络服务器实现是否保持了表单的顺序(也就是说,它是否严格遵循W3C规范?)这部分我就不太清楚了,因为我不知道你在用什么。