【发布时间】:2011-10-31 11:08:31
【问题描述】:
我使用WTForms FieldList 字段作为字段列表。它在form.data 中获取按名称排序的这些输入字段的值。但我想按照它们在表单中出现的顺序获取值。覆盖process 函数是我所知道的唯一解决方案。关于更简单的解决方案的任何想法?
【问题讨论】:
我使用WTForms FieldList 字段作为字段列表。它在form.data 中获取按名称排序的这些输入字段的值。但我想按照它们在表单中出现的顺序获取值。覆盖process 函数是我所知道的唯一解决方案。关于更简单的解决方案的任何想法?
【问题讨论】:
所以 HTTP 规范是这样说的。
部件按照相应控件出现在文档流中的相同顺序发送到处理代理。
这样就完成了第一部分。第二部分是你能做什么。 WTForms 将以Multidict 的形式处理任何东西,特别是它需要有一个getlist 方法。
其余的取决于您使用的库。 Werkzeug 项目提供了一个 ImmutableOrderedMultiDict. 实现,并且有几个可以在搜索 PyPi 存储库或在 github(https://github.com/gruns/orderedmultidict) 上找到。
剩下的最后一部分是您的 Web 服务器实现是否保留了表单排序(即它是否严格符合 W3C 规范?)这部分我不知道,因为我不知道是什么您正在使用。
【讨论】: