环境:python 2.7 ;django 1.7.2
每一种框架的session的实现方式不一样,最近有一个登陆模块,要求用户关闭浏览器时候session自动失效,这个在java中是默认的,而在django中的session默认是放在数据库中的,网上有人给了如下方法:
SESSION_EXPIRE_AT_BROWSER_CLOSE=True;//在配置文件配置,可是该方式无效;
另一种方式:request.session.set_expiry(0);那么当浏览器关闭时,session失效,试验成功;
备注:
一、request.session.set_expiry(value);可以传递四种不同的值给它:
* 如果value是个整数,session会在些秒数后失效。
* 如果value是个datatime或timedelta,session就会在这个时间后失效。
* 如果value是0,用户关闭浏览器session就会失效。//我们用的就是这种方式
* 如果value是None,session会依赖全局session失效策略。
二、django有四中session实现方式
1、数据库(database-backed sessions)//默认的方式
2、缓存(cached sessions)
3、文件系统(file-based sessions)
4、cookie(cookie-based sessions)//php是基于这种方式的