Проблема передачи значения в модальное всплывающее окно с помощью Django - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь сделать простое всплывающее окно подтверждения, чтобы удалить строку в таблице данных. У меня есть список «ящиков» и в каждой строке кнопка удаления. Когда я нажимаю кнопку удаления, появляется модальное всплывающее окно, и если пользователь нажимает «да», то запись должна быть удалена.

Проблема в том, что я не могу "передать" идентификатор окна в модальное всплывающее окно, а не в свой метод views.py. Если, например, в моем списке 3 поля (Id 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 очень прост, он просто печатает идентификатор:

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})

Ценю любую помощь.

...