首页 > 解决方案 > 循环遍历动态 WTForm 中的字段

问题描述

我是 Flask 的菜鸟,并尝试创建动态输入字段。我遇到了一个解决方案,我可以在 Flask 中创建模板,然后我必须使用以下代码在我的 .html 文件中进行迭代:

{% from 'your_form_template.jinja' import forms %}
    {% for address_entry_form in form.addresses %}
    {{ address_entry_form.hidden_tag() }}
    {# Flask-WTF needs `hidden_tag()` so CSRF works for each form #}
    {{ forms.render_field(address_entry_form.name) }}
    {% endfor %}

我不知道我需要在第一行放什么而不是'your_form_template.jinja'

我只有一个简单的应用程序结构:

应用 | 模板-- | | | 索引.html app.py

标签: pythonflaskflask-wtforms

解决方案


您的第一行不会在您的 html 中,而是将变量传递addresses给 jinja。所以在app.py导入你的forms模块和:

@app.route('/', methods=('GET','POST'))
def index():
#stuff you're doing in index
return render_template('index.html', adresses=forms.addresses) #assuming forms.addresses here is actually a list of forms

然后html会有

{% for address_entry_form in adresses %}
....

推荐阅读