Добавляйте поля ввода динамически с помощью wtforms

Я не совсем уверен, как подойти к этому вопросу. Я надеюсь, что доберусь туда.

Например, у меня есть таблица полных адресов на странице. Количество из них является динамическим (может быть 5 или 10 или любое другое количество). И я хочу возможность редактировать их на одной странице.

Мой подход состоял в том, чтобы создать форму с помощью wtforms, чтобы отредактировать один адрес и умножить его в jinja2.for loop и добавить в свойства HTMLname а такжеid loop.index0 из итерации, так что я могу извлечь каждую строку данных вручную и вернуть их в мою форму, когда я хочу оценить.

Таким образом, форма для этого примера будет:

class AdressForm(Form):
    name = TextField()

так что теперь мой шаблонный подход выглядит следующим образом (разбито на одно поле ввода):

{% for address in addresses %}
    {{ forms.render_field(addressform.name, id = "name_" ~ loop.index0, 
                          name = "name_" ~ loop.index0, value = address.name) }}
{% endfor %}

(forms.render_field - это просто макрос для указания правильных классов для функции поля wtforms. Как они используют во многих учебных пособиях)

Так что это не работает, так как вы не можете передатьname параметр вручную к функции поля, так как wtforms создаютname html-параметр из имени переменной начальной формы.

Так есть ли способ добавить префикс или постфикс к имени формы, которую я хочу визуализировать. Или это проблема XY, и мой подход совершенно неверен.

или я сам все сделал ясно (я действительно стараюсь избегать этого)

Ответы на вопрос(1)

Ваш ответ на вопрос