Я не совсем уверен, как подходит этот вопрос. Надеюсь, я доберусь туда.
Например, у меня есть таблица, полная адресов на странице. Количество их динамическое (может быть 5 или 10 или любое другое количество). И я хочу возможность редактировать их на одной странице.
Мой подход заключался в создании формы с wtforms для редактирования одного адреса и умножения
это в jinja2 for loop
и добавить к свойствам html name
и id
loop.index0
из itereation, поэтому я могу извлечь каждую строку данных вручную
и верните его в мою форму, когда я хочу его оценить.
Таким образом, форма для этого примера будет выглядеть следующим образом:
class AdressForm(Form):
name = TextField()
Итак, теперь мой шаблон aproach выглядит следующим образом (разбивайте на одно поле ввода):
{% 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-параметр из variblameame из встроенной формы.
Итак, есть способ добавить префикс или постфикс к имени формы, которую я хочу отобразить. Или это XY-проблема, и мой подход не соответствует действительности.
или я делаю все это самостоятельно (я действительно стараюсь избегать этого)