Чтобы перенаправить на ту же страницу после метода POST с использованием представлений на основе классов в Django, вы можете использовать разные методы. Вот несколько методов, которые вы можете рассмотреть:
-
Использование метода
get_success_url
. В представлении на основе классов переопределите методget_success_url
, чтобы вернуть URL-адрес текущей страницы. Это перенаправит пользователя обратно на ту же страницу после успешного запроса POST. -
Использование заголовка
HTTP_REFERER
. По вашему мнению, вы можете получить доступ к заголовкуHTTP_REFERER
из объекта запроса, который содержит URL-адрес предыдущей страницы. После обработки запроса POST вы можете перенаправить пользователя обратно на предыдущий URL-адрес с помощью функцииredirect
. -
Сохранение предыдущего URL-адреса в сеансе. Перед обработкой запроса POST вы можете сохранить URL-адрес текущей страницы в сеансе. После успешной обработки запроса вы можете получить сохраненный URL-адрес из сеанса и перенаправить на него пользователя.
-
Использование JavaScript. Вместо перенаправления на стороне сервера вы можете использовать JavaScript для перенаправления пользователя обратно на ту же страницу после обработки запроса POST. Для этого можно использовать объект
window.location
.
Это некоторые методы, которые вы можете использовать для перенаправления на ту же страницу после метода POST с использованием представлений на основе классов в Django.