Запрос подтверждения удаления записи
Добрый день!
Пытаюсь на django реализовать удаление записи, а диалог подтверждение удаления хочу вынести в модальное окно.
Файл views.py:
class DeleteObject(LoginRequiredMixin, DeleteView): model = Object template_name = 'todoList/home.html' def get(self, request, *args, **kwargs): obj = get_object_or_404(Object, id=self.kwargs.get('id')) # Check for uncompleted tasks uncompleted = Data.objects.filter(objects=obj).filter(state=False).count() if uncompleted == 0: obj.delete() return redirect('home')
То есть реализовал удаление сразу при клике на ссылку удаления записи.
Пытаюсь в шаблоне (*.html) сделать так:
<div class="dropdown"> <div class="circle dropdown-toggle ml-2" data-toggle="dropdown"></div> <div class="dropdown-menu"> <a class="dropdown-item" href="{% url 'obj_update' object.id %}">Edit</a> <a class="dropdown-item" data-toggle="modal" data-target="#taskModal" OnClick="getId('{{ object.id }}')">Delete</a> <script language="javascript"> function getId(objID) { link = "{% url 'del_obj' " + objID + " %}"; // Error objdel.setAttribute('href', link); }; </script> </div> </div> <div id="taskModal" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">Confirm deletion</h4> </div> <div class="modal-body">Are your sure you want to delete?</div> <div class="modal-footer"> <a id="objdel" class="btn btn-danger" type="button" data-dismiss="modal" href="">Delete</a> <a class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</a> </div> </div> </div> </div>
Пытаюсь в атрибут href="" объекта id="objdel" впихнуть "{% url 'del_obj' " + objID + " %}", чтобы при клике в диалоге на "Delete" удалялась запись.
В строке "link = "{% url 'del_obj' " + objID + " %}";" ругается на то что objID не подходит в качестве параметра для "del_obj".
Возможно есть способ реализовать это по другому или я не правильно передаю ссылку?
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Akiv Doros
- 11 ноября 2024 г. 20:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
- molni99
- 26 октября 2024 г. 7:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
- molni99
- 26 октября 2024 г. 7:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-10
Пробовал так:
Ошибка:
Добрый день.
Вот это работать и не будет
Давайте разберёмся, ка работает {% url 'del_obj' %}
Начнём с того, что это шаблонный тег, а значит он должен быть обработан на сервере прежде, чем будет отослан клиенту в веб-браузер.
А JavaScript в данном случае может выполниться только на стороне клиента в данном случае.
Значит, чтобы тег отработал, ему нужна адекватная информация, без конкатенаций со стороны JavaScript, посольку это будет совсем другой шаг, когда уже всё отрендерено.
В сухом остатке это может выглядеть только так
то есть, я бы написал так
Спасибо!
Я по началу так и хотел сделать но в строке:
Сбила подсветка синтаксиса и кавычки, выглядит как буд-то del_obj стоит вне кавычек. Засомневался, что не будет работать.
Странно, но поссылке переходить отказывается, хотя и показывает, что она там есть.
Для работы пришлось немного поменять:
Без пинка со стороны JavaScript по ссылке переходить отказывается.