Передача значения в модальное окно в Django
Я хочу добавить модальное окно подтверждения удаления после нажатия на кнопку удаления в таблице, генерируемое рядом объектов из представления Django:
...
{% for i in items %}
<tr>
<td>{{ i.name }}</td>
<td><a href="#" data-bs-toggle="modal" data-bs-target="#modal-delete-item">Delete</a></td>
</tr>
{% endfor %}
....
В модальном окне у меня что-то вроде этого:
<div class="modal modal-blur fade" id="modal-delete-item" tabindex="-1" role="dialog" aria-hidden="true">
....
<button href="{% url 'remove_quote_item' i.pk %}" type="button" class="btn btn-danger" data-bs-dismiss="modal">Oui, je confirme.</button>
....
</div>
Как я могу использовать переменную "i" в модале, поскольку я нахожусь вне цикла, могу ли я использовать что-либо для ссылки на эту переменную в модале? Или, возможно, использовать javascript для выполнения этого действия? Или есть что-то, что я могу сделать с самим jinja?
Спасибо!
Лучшая практика
Используйте Ajax для отправки запроса на сервер с номером id, который вы хотите удалить.
Плохая практика
Это плохая практика, но вы можете решить этот вопрос.
{% for i in items %}
<tr>
<td>{{ i.name }}</td>
<td><a href="#" data-bs-toggle="modal" data-bs-target="#modal-delete-item-{{ i.id }}">Delete</a></td>
</tr>
...........
<div class="modal modal-blur fade" id="modal-delete-item-{{ i.id }}" tabindex="-1" role="dialog" aria-hidden="true">
....
<button href="{% url 'remove_quote_item' i.id %}" type="button" class="btn btn-danger" data-bs-dismiss="modal">Oui, je confirme.</button>
....
</div>
.........
{% endfor %}
- Используйте ajax для отправки запроса на сервер с id в качестве данных.
- в функции delete файла view.py вернуть 0, если запись с заданным id удалена из базы данных, или вернуть 1, если запись не удалена или произошла какая-либо другая ошибка.
- создайте скрытый элемент div над таблицей, если ответ равен 0, то удалите эту строку из таблицы, используя и покажите этот элемент div, используя javascript.