迭代Flask中的复选框

时间:2011-11-03 13:56:03

标签: python flask jinja2

我有一个看起来像这样的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 个答案:

答案 0 :(得分:33)

Flask的request对象(实际上,LocalProxy实例返回的类request)是werkzeug的MultiDict数据结构的子类 - 其中包括一个getlist方法。

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