Подтвердить что ты не робот

Итерации через флажки в Flask

У меня есть шаблон 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 проверенных.

4b9b3361

Ответ 1

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

page_ids = request.form.getlist("do_delete")