Nie jestem do końca pewien, w jaki sposób podejście to dotyczy. Mam nadzieję, że się tam dostanę.Dodawaj dynamicznie pola wejściowe za pomocą wtapów
Na przykład mam tabelę pełną adresów na stronie. Liczba ta jest dynamiczna (może wynosić 5, 10 lub dowolną inną liczbę). I chcę możliwość ich edycji na jednej stronie.
My podejście do utworzenia kształtowego z wtforms zmienić jeden adres i mnożą go w jinja2 for loop
i dołączania do propertys html name
i id
loop.index0
z itereation, aby można było wyodrębnić każdą wiersz danych ręcznie i umieść go w moim formularzu, kiedy chcę go ocenić.
Więc Formularz dla tego przykładu będzie:
class AdressForm(Form):
name = TextField()
więc teraz mój szablon aproach wygląda następująco (rozbić na polu jeden wejściowego):
{% for address in addresses %}
{{ forms.render_field(addressform.name, id = "name_" ~ loop.index0,
name = "name_" ~ loop.index0, value = address.name) }}
{% endfor %}
(forms.render_field jest tylko makro, aby określić odpowiednie klasy do funkcji pól wtątków, które są używane w wielu samouczkach)
To nie działa, ponieważ nie można przejść przez name
parametr ręcznie do funkcji pola, ponieważ wtforms utworzyć name
html-parametr z variblename w pierwszej formie.
Czy istnieje sposób na dodanie przedrostka lub przyrostka do nazwy formularza, który chcę renderować. A może to jest problem XY i moje podejście jest całkowicie błędne.
lub mają zrobić wszystko równina przez siebie (I naprawdę starają się unikać tego)
Thx, działa. Tylko nie z elementem formularza o nazwie "nazwa". Z niektórymi próbami i błędami 'address_entry_form.name' zawsze byłby poprzedzony prefiksem fieldname/id – muthan
oh i z' type' tym samym problemem – muthan
Czy istnieje sposób, aby to zaadaptować, aby móc dodawać pola za pomocą szablonów? Chciałbym umożliwić użytkownikowi kliknięcie przycisku + i dodanie innego pola do FieldList. –