Как пропустить вставку в представлении Django, если пользователь нажимает кнопку «Назад»? - PullRequest
1 голос
/ 06 апреля 2010

У меня есть приложение с промежуточной страницей для удержания пользователя во время интенсивной операции в фоновом режиме (от 30 секунд до 1 минуты). После завершения операции пользователь перенаправляется на страницу результатов.

Находясь на странице результатов, типичным поведением пользователя является нажатие кнопки «назад» для выполнения операции с другим входным набором. Однако кнопка «Назад» переводит их в промежуточную, а не в первоначальную форму. Желаемое поведение - вернуться к исходной форме, полностью пропустив вставку. Мне бы хотелось, чтобы это было поведение по умолчанию, если пользователь переходит на промежуточную страницу из любой точки, кроме исходной формы.

Я подумал, что мог бы создать это, используя функциональный декоратор @never_cache в моем представлении для междоузлия и логику, основанную на request.META['HTTP_REFERER'], однако страница не учитывает это. Кнопка возврата в браузере по-прежнему превосходит это поведение.

Есть идеи, как решить эту проблему?

1 Ответ

2 голосов
/ 06 апреля 2010

Как вы удерживаете промежуточную страницу от входа в поток?Устраните его.

Я только недавно обернулся вокруг AJAX, поэтому хотелось бы дать вам более конкретный ответ, но общий подход заключается в использовании чего-то вроде jQuery для заменысодержимое формы <div> после отправки с указанием «эй, я здесь работаю», а затем загрузка новой страницы, когда она будет готова.

jQuery очень любезно добавляет уникальный, нежелательный параметр к определенным запросамявно помешать кешированию изменчивых страниц.

...