Python - 读取复选框

2 投票
3 回答
1747 浏览
提问于 2025-04-15 17:29

我有几个复选框,它们有相同的名字,但每个复选框都有不同的变量(ID)。我想知道怎么用Python把它们读成一个列表?现在我用的是

checkbox = request.POST["common_name"]

但是这个方法不太好用,checkbox这个变量只存储了最后一个被选中的复选框,而不是一个列表或者其他东西。

3 个回答

0

如果你想根据 getlist 列表来选择一些对象(比如联系人对象),你可以这样做:

selected_ids = request.POST.getlist('_selected_for_action')
object_list = Contact.objects.filter(pk__in=selected_ids)
2

在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这种情况下,我们需要找到问题的根源,通常可以通过查看错误信息来帮助我们定位问题。

错误信息就像是程序给我们的提示,它告诉我们哪里出了问题。理解这些提示是解决问题的关键。比如,有些错误信息会告诉我们某个变量没有定义,或者某个函数没有被正确调用。

当你看到这些错误信息时,不要慌张,仔细阅读它们,通常会有一些线索可以帮助你找到解决方案。你可以根据错误信息去查找相关的资料,或者在网上搜索类似的问题,看看别人是怎么解决的。

记住,编程是一个不断学习和解决问题的过程,遇到问题是很正常的。只要保持耐心,逐步分析,就一定能找到解决办法。

checkbox = request.POST.getlist("common_name")
6

如果你在使用WebOB,request.POST.getall('common_name')会给你一个包含所有名为'common_name'的POST变量的列表。想了解更多,可以查看WebOB的文档。

但是你现在使用的是Django。你可以查看QueryDict的文档,里面有几种方法可以做到这一点。其中一种方法是使用request.POST.getlist('common_name')

撰写回答