Я новичок в фляге и WTForms, поэтому заранее извините.
В любом случае, я пытаюсь создать несколько форм, используя одну и ту же форму, определенную ниже в forms.py
.
File_Choices = [('1', 'ex1.pdf'), ('2', 'ex2.pdf')
class Inputs(Form):
Files = SelectField(u'File', choices=File_Choices,validators =[Required()])
Я знаком с тем, что мне нужно объявить что-то вроде: form1=Inputs()
, чтобы объявить форму в views.py
, однако возникает проблема, когда мне нужно объявить неизвестное количество форм и отслеживать выбранные значения.
Моя конкретная проблема заключается в том, что у меня есть список, содержащий N элементов, и каждый элемент должен соответствовать файлу, который пользователь выбирает из формы. Итак, я разбил свою проблему на то, чтобы сначала создать N форм, и подумал об использовании цикла for, подобного этому:
for i in range(len(PDF_list))
form'i'=Input()
Таким образом, конечный продукт, если длина списка равна 5, составляет 5 входных форм, объявленных как form1, form2, form3, form4, form5. Я знаю, что это, очевидно, не работает так, как я только что закодировал его, но это функциональность, которую я пытаюсь получить, поэтому я все еще могу получить доступ к отправленным значениям, используя что-то вроде
dict(File_Choices).get(form'i'.Files.data)
.
Однако, вероятно, есть действительно очевидный способ сделать это, я новичок в использовании flask и WTForms, поэтому любая помощь приветствуется, и в вашем решении, если бы вы могли шаг за шагом объяснить, что вы делаете, так как я новичок, это было бы Потрясающие.