天地一扁舟 2015-09-28 05:32 采纳率: 0%
浏览 4448

django如何在用户登录后返回到原来来页面,并保持登陆状态

各位朋友们好,现在用django做一个用户登录页面,希望能够在用户登录后返回到原来来页面,并保持登陆状态,网上找到了下面这个方法

 def login_user(request):
    if request.method == 'GET':
        #记住来源的url,如果没有则设置为首页('/')
        request.session['login_from'] = request.META.get('HTTP_REFERER', '/')
        #TODO:显示登陆页面,blablabla
    if request.method == 'POST':
        #TODO: 用户登录操作,blablabla
        #重定向到来源的url
        return HttpResponseRedirect(request.session['login_from'])

这个方法有一个问题就是,虽然通过重定向返回到原来登陆的页面,但是仍然显示未登陆的状态,我本来想传一个request.user 作为参数传递给展示页面的,但是HttpResponseRedirect不能传递参数,希望朋友们能够指点一下,万分感谢了。

  • 写回答

1条回答 默认 最新

  • 小马AAA 2020-01-02 21:37
    关注

    尝试使用反向解析来重定向
    demo:
    home -- 首页模块
    index -- 访问首页
    url = reverse('home:index') + '?user_id=' + user_id
    return redirect(url)

    评论

报告相同问题?