我正在尝试根据所选的复选框值来检索信息。现在,我已经根据选定的复选框设法显示了相应的内容。但是,它仅适用于一个选中的复选框。如果我选中多个复选框,它将返回上一个选中的复选框。
我了解我必须使用request.POST.getlist('name')传递多个复选框值。当我这样做时,它什么也不显示。
我想显示在所选星期几上课的学生的姓名。
下面是我的示例代码:
Views.py
def filterWeek(request):
qs = MarkAtt.objects.all()
week_checked = request.GET.get('week_check')
if week_checked:
# week_mchecked = request.POST.getlist('week_check') #not working, display nothing
#qs = qs.filter(week_in=week_mchecked)
qs = qs.filter(week=week_checked)
context={
'queryset' : qs
}
return render(request, "filter.html", context)
模板:
<form method="GET" action=".">
<input type="checkbox" id="week_check" name="week_check" value="1"/> Week 1
<input type="checkbox" id="week_check" name="week_check" value="2"/> Week 2
<input type="checkbox" id="week_check" name="week_check" value="3"/> Week 3
</form>
希望你能帮助我。非常感谢。
答案 0 :(得分:0)
我刚刚尝试更改此内容:
week_mchecked = request.POST.getlist('week_check')
到
week_mchecked = request.GET.getlist('week_check')
,它正在工作。显然,我刚刚意识到我的表单方法是GET而不是POST。