Wtforms - как FieldList получает входные данные от внешнего интерфейса

Мне любопытно как FieldList Из работ wtforms я провел некоторый эксперимент с интерфейсом, используя javascript.

Так что в основном у меня есть несколько повторяемых полей, и есть кнопка для динамического добавления нового поля и изменения его id, name, for следуя условию wtforms (например, transaction-item-0-something для первого поля, transaction-item-1-something для второго поля и т. д.).

Один эксперимент, который я сделал, ставил такой же id а также name то же самое для списка 2 полей (например, transaction-item-0-something для 1-го поля, transaction-item-0-something за 2-е поле). и wtforms только приняли первое входное значение (ожидается).

Второй эксперимент был тот, который меня глючит, я сознательно изменил часть номера, чтобы он пропустил некоторое число (transaction-item-0-something для 1-го поля, transaction-item-2-something для 2-го поля), и он работал нормально, wtforms получили оба ввода.

Так что это заставляет меня задуматься, сделать id а также name не нужно заказывать? если так, то как wtforms обрабатывают полученный ввод, просто получает все идентификаторы элемента, который содержит transaction-item-x-something? и просто перебрать его, но также проверить, есть ли там зарегистрированный идентификатор?

1 ответ

На самом деле, я просто покопался в исходном коде и выяснил, что порядок не имеет значения, если это число (.isdigit()), он будет перебирать все полученные данные и затем помещать их в set который похож на питона keys в dictionary, поэтому повторяющиеся значения будут удалены.

Что означает, что HTML будет отправлять каждый <input> независимо от его id или же name то же самое, и пусть бэкэнд обрабатывает его

Другие вопросы по тегам