迭代Flask中提交的表单字段?

urs*_*rei 14 python flask

在Flask 0.8中,我知道我可以使用单独的表单字段访问form.fieldname.data,但是有一种简单的方法可以迭代所有表单字段吗?我正在构建一个电子邮件消息正文,我想遍历所有字段并为每个字段创建一个字段名/值条目,而不是通过命名每个字段并附加来手动构建它.

Ski*_*Ski 31

我怀疑你正在使用WTForms.

您可以迭代表单数据:

for fieldname, value in form.data.items():
    pass
Run Code Online (Sandbox Code Playgroud)

您可以遍历所有表单域:

for field in form:
    # these are available to you:
    field.name
    field.description
    field.label.text
    field.data
Run Code Online (Sandbox Code Playgroud)


小智 12

表单对象上定义了一个迭代器:

{% for field in form %}
    <tr>
    {% if field.type == "BooleanField" %}
        <td></td>
        <td>{{ field }} {{ field.label }}</td>
    {% else %}
        <td>{{ field.label }}</td>
        <td>{{ field }}</td>
    {% endif %}
    </tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

这是来自http://wtforms.simplecodes.com/docs/0.6/fields.html