复选框数据未通过Django传递

时间:2019-01-24 12:42:30

标签: python django

我有一个带有多个复选框的html模板,当我运行request.POST.getlist()时,无论选择什么复选框,我都会得到一个空列表。

视图类: 类AddNewDevice(TemplateView):

 <form method='POST'>
  {% csrf_token %}
  <div class="card mb-3">
    <div class="card-header">
      <i class="fas fa-table"></i>
      devices</div>
    <div class="card-body">
      <div class="table-responsive">
        <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
          <thead>
            <tr>
              <th></th>
              <th>Serie Nummer</th>
              <th>Gebouw</th>
              <th>Locatie</th>
            </tr>
          </thead>
          <tbody>
            {% for device in devices %}
            <tr>
              <td>
                <input type="checkbox" value="{{obj.serial_number}}" name="devices_selected">
              </td>
              <td>{{device.serial_number}}</td>
              <td>{{device.device_building}}</td>
              <td>{{device.device_location}}</td>
            </tr>
            {% endfor %}
          </tbody>
        </table>
      </div>
    </div>
    <div class="card-footer small text-muted">Geupdate om 12:00 uur</div>
  </div>

   <br>

   <button type="submit" class="btn btn-primary">Toevoegen</button>

   <br>
  </form>

html格式:

order.id == nil

正如我之前提到的request.POST.getlist('devices_selected')返回一个空列表,无论选择了什么。我想要一个包含所有选定复选框的值(obj.serial_number)的列表。

1 个答案:

答案 0 :(得分:0)

您的模板上下文中没有obj,因此value属性为空。每个循环中的项目为device

<input type="checkbox" value="{{ device.serial_number }}" name="devices_selected">