Я использую встроенный DeleteView Django, и я присвоил значение атрибуту success_url
. Теперь в моем шаблоне я запускаю это представление с помощью метода JQuery '$ .post(). Когда элемент удален, я не перенаправляюсь на success_url
. После некоторого поиска я обнаружил, что это проблема с методом AJAX post, который игнорирует перенаправление.Перенаправление после сообщения AJAX в Django
Я исправил его, добавив функцию, чтобы установить window.location="#myRedirectionURL"
в качестве третьего параметра $.post()
в JQuery.
Однако, этот способ кажется не очень Джанго. По сути, он решает проблему с точки зрения AJAX, а не Django. Более того, он оставляет success_url
в DeleteView бесполезным (но вам еще нужно назначить значение success_url
, или Django вызовет ошибку).
Так это правильный способ перенаправления при отправке через AJAX? Есть ли лучший способ сделать это?
Большое спасибо.
Я бы выполнил код 'location.href = '# myRedirectionURL'' js внутри шаблона success_url с задержкой' setTimeout', показывая хорошее сообщение, например, «удаление было в порядке» – abidibo