我有一个WTForms表单,我希望用户能够上传多达10张图像,并提供图像标题和字幕。目前,我声明了所有10组字段,但这似乎是多余的。有没有一种方法可以创建具有动态名称的表单字段,所以我可以循环创建它们?
class MyForm(Form):
image1 = FileField('Upload')
image1_caption = StringField('Caption')
image1_credit = StringField('Credit')
image2 = FileField('Upload')
image2_caption = StringField('Caption')
image2_credit = StringField('Credit')
# ...through 10 images...
通过FormField
与结合使用,您可以获得想要的东西FieldList
:
class ImageForm(Form):
image = FileField('Upload')
caption = StringField('Caption')
credit = StringField('Credit')
class MyForm(Form):
images = FieldList(FormField(ImageForm), min_entries=10)
然后,您可以ImageForm
通过my_form_instance.images.entries
或通过遍历来访问各个实例my_form_instance.images
:
for image in my_form_instance.images:
print(image.data['caption'], image.data['credit'])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句