使用django将值传递给模式弹出窗口时出现问题

时间:2019-03-26 11:03:55

标签: python django bootstrap-modal

我正在尝试做一个简单的确认弹出窗口来删除数据表上的一行。 我有一个“框”列表,每行都有一个删除按钮。当我单击“删除”按钮时,会出现一个模式弹出窗口,如果用户单击“是”,则应删除该记录。

问题是我无法将框ID“传递”给模式弹出窗口,而不是传递给views.py上的方法。例如,如果我的清单上有3个框(编号1、2和3),则views.py上的方法始终会收到第一个ID(1)

这是代码:

<tbody>
                    {% for box in boxes %}
                    <tr>
                        <td>{{ box.id }}</td>
                        <td>{{ box.code }}</td>
                        <td>{{ box.description }}</td>
                        <td><button type="button" value="{{ box.id }}" class="btn waves-effect waves-light btn-secondary " data-toggle="modal" data-target=".bs-example-modal-lg"><i class="fas fa-trash-alt"></i></button></td>
                        <div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true" style="display: none;">
                                <div class="modal-dialog modal-lg">
                                    <div class="modal-content">
                                        <div class="modal-header">
                                            <h4 class="modal-title" id="myLargeModalLabel">Confirmation</h4>
                                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                                        </div>
                                        <div class="modal-body">
                                            <p>Do you really want to delete this box?</p>
                                        </div>
                                        <div class="modal-footer">
                                            <button type="submit" name="box_id" value="{{ box.id }}" class="btn btn-primary waves-effect text-left" >Yes</button>
                                        </div>
                                    </div>
                                    <!-- /.modal-content -->
                                </div>
                                <!-- /.modal-dialog -->
                            </div>
                    </tr>
                    {% endfor %}
                </tbody>

我已经尝试过将模式移动到for之外,但在那种情况下,我在另一侧没有收到ID。

我在views.py上的方法非常简单,它只显示id:

def delete_box(request):
if 'username' not in request.session:
    return render(request, 'login.html')

if request.method == 'POST':
    print(request.POST['box_id'])

boxes = Box.objects.all()
return render(request, 'list-box.html', {'boxes': boxes})

感谢任何帮助。

0 个答案:

没有答案