相关疑难解决方法(0)

Django:登录后重定向到上一页

我正在尝试构建一个简单的网站,其登录功能与SO上的功能非常相似.用户应该能够以匿名用户身份浏览网站,并且每个页面都会有一个登录链接.单击登录链接时,用户将被带到登录表单.成功登录后,用户应该返回到他首先点击登录链接的页面.我猜我必须以某种方式将当前页面的url传递给处理登录表单的视图,但我无法让它真正起作用.

编辑:我明白了.我通过将当前页面作为GET参数传递,然后使用"next"重定向到该页面来链接到登录表单.谢谢!

编辑2:我的解释似乎并不清楚所以这里要求的是我的代码:让我们说我们在页面foo.html上,我们没有登录.现在我们希望在foo.html上有链接链接到login.html.我们可以登录,然后重定向回foo.html.foo.html上的链接如下所示:

      <a href='/login/?next={{ request.path }}'>Login</a> 
Run Code Online (Sandbox Code Playgroud)

现在我写了一个看起来像这样的自定义登录视图:

def login_view(request):
   redirect_to = request.REQUEST.get('next', '')
   if request.method=='POST':
      #create login form...
      if valid login credentials have been entered:
         return HttpResponseRedirect(redirect_to)  
   #...
   return render_to_response('login.html', locals())
Run Code Online (Sandbox Code Playgroud)

而login.html中的重要一行:

<form method="post" action="./?next={{ redirect_to }}">
Run Code Online (Sandbox Code Playgroud)

所以,这就是它,希望能说清楚.

python django

168
推荐指数
4
解决办法
10万
查看次数

"next"参数,redirect,django.contrib.auth.login

我正在尝试"/gallery/(username)/"在成功登录后将用户重定向到自定义网址.它目前重定向到默认"/account/profile/"网址虽然我知道我可以覆盖我的重定向网址settings.py,但我的网址是动态的,因此无法使用.

文档声明我需要使用"next"参数,context processors.{{next}}在模板中有,但我对如何实际传递它感到困惑"/gallery/(username)".任何帮助将不胜感激.

ps:我正试图避免编写我自己的登录视图.

python django django-forms

27
推荐指数
4
解决办法
4万
查看次数

标签 统计

django ×2

python ×2

django-forms ×1