Перебирать отправленные поля формы во Flask? - PullRequest
11 голосов
/ 15 октября 2011

В Flask 0.8 я знаю, что могу получить доступ к отдельным полям формы, используя form.fieldname.data, но есть ли простой способ перебора всех полей формы? Я создаю тело сообщения электронной почты, и я хотел бы зациклить все поля и создать запись имени / значения поля для каждого, а не создавать его вручную, называя каждое поле и добавляя.

Ответы [ 2 ]

27 голосов
/ 15 октября 2011

Я подозреваю, что вы используете WTForms .

Вы можете перебирать данные формы:

for fieldname, value in form.data.items():
    pass

Вы можете перебирать все поля формы:

for field in form:
    # these are available to you:
    field.name
    field.description
    field.label.text
    field.data
11 голосов
/ 04 марта 2012

Для объекта формы определен итератор:

{% for field in form %}
    <tr>
    {% if field.type == "BooleanField" %}
        <td></td>
        <td>{{ field }} {{ field.label }}</td>
    {% else %}
        <td>{{ field.label }}</td>
        <td>{{ field }}</td>
    {% end %}
    </tr>
{% endfor %}

Это от http://wtforms.simplecodes.com/docs/0.6/fields.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...