根据选定的复选框值显示内容

时间:2019-12-30 06:28:12

标签: python django

我正在尝试根据所选的复选框值来检索信息。现在,我已经根据选定的复选框设法显示了相应的内容。但是,它仅适用于一个选中的复选框。如果我选中多个复选框,它将返回上一个选中的复选框。

我了解我必须使用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>

希望你能帮助我。非常感谢。

1 个答案:

答案 0 :(得分:0)

我刚刚尝试更改此内容:

  week_mchecked = request.POST.getlist('week_check') 

week_mchecked = request.GET.getlist('week_check')

,它正在工作。显然,我刚刚意识到我的表单方法是GET而不是POST。