<p>好的,我能够使用来自<a href="https://stackoverflow.com/questions/37801634/how-can-i-create-repetitive-form-elements-in-a-dry-way-with-flask-wtforms">this question</a>的信息制作一个令人满意的玩具示例</p>
<p>python:</p>
<pre><code>class ImageForm(FlaskForm):
frequency = SelectField(choices=[('monthly', 'Monthly'),('weekly', 'Weekly')])
caption = StringField('Caption')
credit = StringField('Credit')
class TestForm(FlaskForm):
images = FieldList(FormField(ImageForm), min_entries=10)
</code></pre>
<p>模板:</p>
<pre><code><form action="" method="post">
{{ testForm.hidden_tag() }}
<table>
{% for image in testForm.images %}
<tr>
<td> {{ image['frequency'] }} </td>
<td> {{ image['caption'] }} </td>
<td> {{ image['credit'] }} </td>
</tr>
{% endfor %}
<table>
</form>
</code></pre>
<p>结果是:
<a href="https://i.stack.imgur.com/vxHpE.png" rel="nofollow noreferrer">Rendered HTML (ignore all the tabs; I have a problem)</a></p>
<p>我想这应该很适合我的需要</p>
<p>PS:您可以访问单个字段,如下所示:</p>
<pre><code>testForm.images[0]['frequency']
</code></pre>
<p>用于第一个下拉菜单</p>