redirect/返回到Django中的相同(前一个)页面?

可能重复:
Django:login后redirect到上一页

当你想把用户返回到Django中的同一个页面时,有什么select?每个用户有什么优点/缺点?

我知道的方法是:

  • HTTP_REFERER
  • 包含前一个URL的GET参数
  • 会话数据存储以前的URL

还有其他的吗?

其中一种方法是使用HTTP_REFERER头,如下所示:

 from django.http import HttpResponseRedirect def someview(request): ... return HttpResponseRedirect(request.META.get('HTTP_REFERER')) 

不确定这个!

虽然问题和答案是旧的,但我认为它缺乏一些select。 我没有发现任何方法的缺点,我会很高兴知道有没有什么?

  • request.path_info
  • request.get_full_path()
  • request.build_absolute_uri()

     from django.shortcuts import redirect redirect(request.path_info) # No query parameters redirect(request.build_absolute_uri()) # Keeps query parameters redirect(request.get_full_path()) # Keeps query parameters