Formy dynamiczne z elementów o zmiennej długości: wtforms
Używam wtforms i muszę stworzyć coś, co wygeneruje definicję formularza w oparciu o informacje w bazie danych; dynamiczne tworzenie formularzy. Mam poczucie, co należy zrobić, a ja dopiero zacząłem. Mogę tworzyć formularze i używać ich z wtforms / flask, ale definiowanie formularzy z danych, które będą się nieznacznie różnić w zależności od formy, jest obecnie poza moim obecnym poziomem umiejętności.
Czy ktoś to zrobił i ma jakiś wkład do zaoferowania? Nieco niejasne pytanie, brak prawdziwego kodu. Nie znalazłem żadnych przykładów, ale nie jest to niemożliwe.
mass of variable data to be used in a form --> wtforms ---> form on webpage
EDYTOWAĆ:
Tak więc „na przykład” możemy użyć ankiet. Ankieta składa się z kilku modeli SQLAlcehmy. Ankieta to model z dowolną liczbą powiązanych modeli pytań (pytania należą do ankiet i stają się skomplikowane, np. Pytania wielokrotnego wyboru). Aby uprościć, użyj prostego pseudo kodu json / dict do:
{survey:"Number One",
questions:{
question:{type:truefalse, field:"Is this true or false"},
question:{type:truefalse, field:"Is this true or false"},
question:{type:text, field:"Place your X here"}
}
}
{survey:"Number Two",
questions:{
question:{type:text, field:"Answer the question"},
question:{type:truefalse, field:"Is this true or false"},
question:{type:text, field:"Place your email address here"}
}
}
Wyobraź sobie zamiast tego kilkaset różnych długości z 5+ typami pól. Jak używać WTForms do zarządzania formularzami do tego celu, a może nawet muszę używać wtformów? Potrafię zdefiniować formy statyczne, których potrzebuję, ale jeszcze nie dynamicznie.
Na marginesie zrobiłem coś takiego w szynach z simpleformem, ale jak pracuję w atmosie Python (na czymś innym, używam tej ankiety jako przykładu, ale pytanie / pole / odpowiedź wypada abstrakcyjnie potrzebowałem wielu rodzajów wejść).
Więc tak, możliwe, że będę musiał zbudować fabrykę, co zajmie mi trochę czasu, np .:
http://wtforms.simplecodes.com/docs/1.0.2/specific_problems.html
https://groups.google.com/forum/?fromgroups=#!topic/wtforms/cJl3aqzZieA