我将WTForms FieldList
字段用于字段列表。它获取这些输入字段的值,并按form.data
中的名称排序。但我希望按照它们在表单中出现的顺序获取值。覆盖process
函数是我所知道的唯一解决方案。关于更简单的解决方案的任何想法?
答案 0 :(得分:0)
所以HTTP规范说明如下。
部件以相同的顺序发送到处理代理程序,相应的控件显示在文档流中。
因此,照顾第一部分。第二部分是你能做什么。 WTForms
会以Multidict
的形式处理任何内容,特别是需要getlist
方法。
其余的取决于您使用的库。 Werkzeug 项目提供了ImmutableOrderedMultiDict.
实现,有几个可以找到搜索 PyPi 存储库或github(https://github.com/gruns/orderedmultidict)。
最后剩下的部分是您的Web服务器实现是否保留了表单排序(即它是否严格符合 W3C 规范?)这部分我不知道因为我不知道是什么您正在使用。