LI的空POST结果

时间:2018-05-25 14:54:17

标签: django

我使用POST方法有以下表格。

  <form action = "{% url 'submittedupdate' %}" form method = "POST">
      {% csrf_token %}

  <div class="well">
    <h4 style="margin-top: 0"><strong>Update Application(s)</strong></h4>


        {% for app in applicationaccess %}

            <li name = "report_id" value = "{{app.report_id}}">{{ app.report_name_sc }}</li>

        {% endfor %}

</div>

</form>

当前表单正确显示数据,但是当我尝试使用

在下一个视图中检索请求时
currlist = request.POST.getlist('report_id')
print(currlist)

我得到一个空列表。

在上一个视图中,applicationaccess被定义为reportaccess,如下所示:

owner = ADMirror.objects.get (employeentname=request.POST.get('userpost'))

    currentaccess = QVReportAccess.objects.filter(ntname = 'owner.employeentname, active = 1).values_list('sr_datareduce_summary_code', flat = True).distinct()

    reportIds = QVReportAccess.objects.filter(ntname = 'owner.employeentname).values_list('report_id', flat=True)
    currentcheckedlist = request.POST.getlist('current_report')
    reportaccess = QvReportList.objects.filter(report_id__in= currentcheckedlist).values('report_id','report_name_sc').distinct()

奇怪的是,对于同一个POST中的其他项目,我可以将它们拉进去。

为什么我得到一个空列表,如何在上面的for循环中获取report_id中的值?

1 个答案:

答案 0 :(得分:2)

您没有要POST的任何表单数据 - 您将列表呈现为一系列<li>元素,但这些元素不会在POST中出现。您应修改<li>以包含包含所需数据的隐藏输入:

<li>
    <input type="hidden" name="report_id" value="{{app.report_id}}">
    {{ app.report_name_sc }}
</li>