2011-04-04 4 views
2

По названию: по просмотрам Django можно перенаправить на страницу с помощью HttpResponseRedirect, а затем с этой страницы, сразу же перенаправить обратно на исходную страницу?Django: Перенаправить на страницу, а затем перенаправить обратно?

Другими словами, как я могу получить второе представление, чтобы «запомнить» первый, чтобы перенаправить туда?

Я хочу сделать это, чтобы обрабатывать авторизацию LDAP.

Спасибо!

ответ

4

Вы можете перенаправить на /page2/?next=/page1/, а затем получить исходный url из параметров GET в представлении для страницы2.

# page2 viewl 
next = request.GET['next'] 
return HttpResponseRedirect(next) 
1

Вы можете сохранить исходный URL-адрес в session variable, а затем удалить это значение и использовать его для перенаправления на исходную страницу.

+0

Умный, я об этом не думал. – JHSaunders

2

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

У вас есть требование уровня требований, и логика уровня запроса, идентифицированная Alasdair, - это то, что вы хотите.

Смежные вопросы