用于循环复选框的Django模板具有相同的“名称”,然后想要删除多个实例

时间:2013-08-20 13:03:55

标签: django django-templates

所以在我的Django模板中,我有以下内容:

{% for maillist in maillists %}
<li><input type='checkbox' name='listremove' value='{{maillist}}' id='{{maillist}}' />
<span><label class='list' for='{{maillist}}'>{{maillist}}</label></span></li>
{% endfor %}

其中打印出网页上的成员列表,每个成员旁边都有一个复选框。

当我想删除成员时,我在views.py中使用了一个视图

if request.POST.get('listremove'):
    for maillist in request.POST.get('listremove'):
        members_to_delete.append(person.email)

members_to_delete然后传递给执行删除的函数。我的问题是我无法一次删除多个实例 - 即我认为listremove只发生了一次maillist正在发生的事情。

我为模板中的每个迭代结果尝试了name = {{maillist}}},但它不如使用listremove那么好,并且有可能{{1}可能会从页面上的其他表单中获取(当我实际上不想删除它时)....有没有人知道是否有一个巧妙的方法?

1 个答案:

答案 0 :(得分:2)

您应该使用request.POST.getlist('listremove')来获取所有选中的项目。