我使用 WTForms FieldList字段列表的字段。它获取这些输入字段的值,这些值按它们在 form.data 中的名称排序。但我想按照它们在表单中出现的顺序获取值。覆盖 process 函数是我所知道的唯一解决方案。关于更简单的解决方案有什么想法吗?
请您参考如下方法:
因此 HTTP 规范说明如下。
The parts are sent to the processing agent in the same order the corresponding controls appear in the document stream.
这样就完成了第一部分。第二部分是你能做什么。 WTForms 将处理任何形式为 Multidict 的内容,特别是它需要一个 getlist 方法。
其余的取决于您使用的库。 Werkzeug 项目提供了一个 ImmutableOrderedMultiDict. 实现,在 PyPi 存储库或 github ( https://github.com/gruns/orderedmultidict ) 上可以找到多个实现。
最后剩下的部分是您的网络服务器实现是否保留了表单顺序(即它是否严格符合 W3C 规范?)这部分我不知道,因为我不知道是什么您正在使用。
