Итерация по флажкам во Flask - PullRequest
18 голосов
/ 03 ноября 2011

У меня есть шаблон Jinja2, который выглядит следующим образом:

<form action="" method=post>
    <table>
        <tr>
            <th></th>
            <th>ID</th>
            <th>Title</th>
        </tr>
        {% for page in pages %}
            <tr>
                <td><input type=checkbox name=do_delete value="{{ page['id'] }}"></td>
                <td>{{ page['id'] }}</td>
                <td><a href="{{ page['id'] }}">{{ page['title'] }}</a></td>
            </tr>
        {% endfor %}
    </table>
    With selected:
    <input type=submit value=Delete>
</form>

И у меня есть функция, которая должна удалять страницы, в соответствии с которыми были установлены флажки, при нажатии кнопки «Удалить»:

db.session.query(Page).filter(Page.id.in_(page_ids)).delete()

Я застрял в том, как пройти через все флажки и сформировать список page_ids проверенных.

1 Ответ

33 голосов
/ 03 ноября 2011

Объект request Flask (ну, на самом деле класс, который возвращается экземпляром LocalProxy, который request) является подклассом структуры данных MultiDict в werkzeug - которая включает getlist метод.

page_ids = request.form.getlist("do_delete")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...