WTForms FieldList - получение несортированных данных - PullRequest
2 голосов
/ 31 октября 2011

Я использую WTForms FieldList поле для списков полей.Он получает значения этих полей ввода, отсортированные по их именам в form.data.Но я хочу получить значения в порядке их появления в форме.Переопределение функции process - единственное известное мне решение.Есть идеи по поводу простых решений?

1 Ответ

0 голосов
/ 25 мая 2014

Итак, спецификация HTTP гласит следующее.

Детали отправляются обработчику в том же порядке, соответствующие элементы управления появляются в потоке документов.

Так что это касается первой части. Вторая часть - это то, что вы можете сделать. WTForms будет обрабатывать что-либо в форме Multidict, в частности, для этого необходим метод getlist.

Остальное зависит от того, какие библиотеки вы используете. Проект Werkzeug предоставляет реализацию ImmutableOrderedMultiDict., и есть несколько вариантов, которые можно найти при поиске в хранилище PyPi или в github (https://github.com/gruns/orderedmultidict).

Последний оставшийся фрагмент - сохраняет ли реализация вашего веб-сервера порядок форм (т. Е. Строго ли он соответствует спецификации W3C ?) Эту часть я не знаю, потому что не знаю, что вы Используем.

...