登录/登出 跳转当前页面

之前也遇到这个问题,在不同的页面都可以登录和登出,怎样登录的时候跳转回当前的页面呢?

今天做项目又遇到这个问题,决心不能再拖下去,毕竟要解决掉。

用django的话,我上网搜了一下解决方法,搜到一篇可以用的,不管怎么说都是一个好的回答,我就照着这个实施了一遍,发现可以使用。

下面贴下这个的链接:

http://stackoverflow.com/questions/806835/django-redirect-to-previous-page-after-login

后来跟同学讨论了一下,url传参感觉不是太好,所以就寻求新的方法

首先,理一下思路:

无论怎样,我们是要记下跳转之前的页面的url的,而且是要绝对位置

Django的话,可以用 request.path, 或者如果是带有参数的url的话,是request.get_full_path();

但是后者在前端会出现语法错误,所以在前端还是要用{{request.path}}来获取

然后我们需要把这个url传到后台

这一步就见仁见智了,上述的那个教程是通过url传参,利用一个next变量在url里传到后台,但是如果不想在url传呢?

前端和后台交互,表单的POST,但是如果我们跳转到登录界面又需要GET方法,所以逻辑上会很麻烦。

另外就是如果有全局变量可以存,时刻更新全局变量就可以了,说到全局变量同学想到了session

讨论了一下,可行性很大,我们在除了Login, Logout的其他界面都在进入页面函数的时候将session[url](自己随便起名字)字段更新为当前页面的绝对位置,然后在 Login,Logout页面函数需要跳转的时候直接访问session['url']就好,

但是这样就需要设置session的过期时间为关闭浏览器时,会保险一些。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值