用django设置session过期时间的方法解析
session的超时时间设置
settings中
- SESSION_COOKIE_AGE=60*30 30分钟。
- SESSION_EXPIRE_AT_BROWSER_CLOSE False:会话cookie可以在用户浏览器中保持有效期。True:关闭浏览器,则Cookie失效。
- SESSION_COOKIE_DOMAIN 生效站点
- SESSION_COOKIE_NAME cookie中保存session的名称
Session使用比较简单,在request.session是一个字典类。session是保存在数据库中的。
-------------------------------------------------------
按手册和网上的方法在settings.py中设置“SESSION_COOKIE_AGE” 和 “SESSION_EXPIRE_AT_BROWSER_CLOSE” 均不生效。 通过查看django的源代码"middleware.py"才知道这两个参数只有在settings.SESSION_SAVE_EVERY_REQUEST为True时才有效。依此在settings.py中设置这个变量后问题解决。
从源代码看SESSION_EXPIRE_AT_BROWSER_CLOSE为True时 SESSION_COOKIE_AGE 不生效。也就是说用户只能二选一,在浏览器关闭时使session失效 或 超时失效。
--------------------------------------------------------------
下面这个方法不是在settings中用的
request.session.set_expiry(value)
你可以传递四种不同的值给它:
- 如果value是个整数,session会在些秒数后失效(适用于整个Django框架,即这个数值时效时整个页面都会session失效)。
- 如果value是个datatime或timedelta,session就会在这个时间后失效。
- 如果value是0,用户关闭浏览器session就会失效。
- 如果value是None,session会依赖全局session失效策略。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
java设置session过期时间的实现方法
本文实例讲述了java设置session过期时间的实现方法,分享给大家供大家参考.具体实现方法如下: 1.Timeout in the deployment descriptor (web.xml) 以分钟为单位 复制代码 代码如下: <web-app ...> <session-config> <session-timeout>20</session-timeout> </session-config> </web-app> 上面这
-
在ASP.NET中,设置Session的过期时间的方法
方法一: 在后台应用程序中设置:Session.Timeout = 1; 注意:1.此方法可以设置在一个公共的页面中,然后直接调用即可. 2.时间是以分钟为单位的 方法二: 在Web.config中设置: 在<system.web></system.web>中写入<sessionState mode="InProc" timeout="1" />
-
php中实现精确设置session过期时间的方法
大多数据情况下我们对于session过期时间使用的是默认设置的时间,而对于一些有特殊要求的情况下我们可以设置一下session过期时间. 对此,可以在PHP中,设置php.ini,找到session.gc_maxlifetime = 1440 #(PHP5默认24分钟) 这里你可以随便设置一下过期时间.但是有人说设置以后,好象不起作用! 其实不是不起作用,而是因为系统默认: session.gc_probability = 1 session.gc_divisor = 1000 garbage
-
php 如何设置一个严格控制过期时间的session
1.php session 有效期 PHP的session有效期默认是1440秒(24分钟),如果客户端超过24分钟没有刷新,当前session会被回收,失效. 当用户关闭浏览器,会话结束,session也会失效. 可以修改php.ini的session.gc_maxlifetime来设置session的生命周期,但并不能保证在超过这一时间后session信息立即会删除.因为GC是按机率启动的,可能在某一个长时间内都没有被启动.那么大量的session在超过session.gc_maxlifet
-
php中session过期时间设置及session回收机制介绍
网上很多人给出了解答:修改配置文件中的session.gc_maxlifetime.如果想了解更多session回收机制,继续阅读.(本文环境php5.2) 概述:每一次php请求,会有1/100的概率(默认值)触发"session回收".如果"session回收"发生,那就会检查/tmp/sess_*的文件,如果最后的修改时间到现在超过了1440秒(gc_maxlifetime的值),就将其删除,意味着这些session过期失效. 1. session在端(一般是
-
asp中设置session过期时间方法总结
如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改 时间设置要放在前面 例如 复制代码 代码如下: Session.Timeout=30 'SEESION有效时间为30分钟 Session("ID")=Rs("id") Session("Name")=Rs("Name") Session(&q
-
用django设置session过期时间的方法解析
session的超时时间设置 settings中 SESSION_COOKIE_AGE=60*30 30分钟. SESSION_EXPIRE_AT_BROWSER_CLOSE False:会话cookie可以在用户浏览器中保持有效期.True:关闭浏览器,则Cookie失效. SESSION_COOKIE_DOMAIN 生效站点 SESSION_COOKIE_NAME cookie中保存session的名称 Session使用比较简单,在request.session是一个字典类.session
-
给localStorage设置一个过期时间的方法分享
思考点 在 web 开发中,我们知道 cookie.session.localStorage都可以保存用户的数据,cookie的 domain.path 限制了 cookie 的跨域, 有数量和大小的限制,可以设置有效时间. session是后台在浏览器注入一个设置了 httponly 的不可读取的 cookie , session data由后台保存在数据库或者内存中,在web中,session 是靠 cookie 作为唯一标示来实现的,也可以设置过期时间. localStorage 是 H5
-
Node.js重新刷新session过期时间的方法
在Node.js中,我们通常使用express-session这个包来使用和管理session,保存服务端和客户端浏览器之间的会话状态.那如何才能实现当用户刷新当前页面或者点击页面上的按钮时重新刷新session的过期时间呢?类似于ASP.NET中session会话状态,只要在一定的时间内页面一直保持活动状态,session就不会过期.通过下面的代码可以实现这个功能,我们在Node.js的代码中加入下面的中间件: // use this middleware to reset cookie ex
-
spring boot实战教程之shiro session过期时间详解
前言 众所周知在spring boot内,设置session过期时间只需在application.properties内添加server.session.timeout配置即可.在整合shiro时发现,server.session.timeout设置为7200,但未到2小时就需要重新登录,后来发现是shiro的session已经过期了,shiro的session过期时间并不和server.session.timeout一致,目前是采用filter的方式来进行设置. ShiroSessionFil
-
java操作Redis缓存设置过期时间的方法
关于Redis的概念和应用本文就不再详解了,说一下怎么在java应用中设置过期时间. 在应用中我们会需要使用redis设置过期时间,比如单点登录中我们需要随机生成一个token作为key,将用户的信息转为json串作为value保存在redis中,通常做法是: //生成token String token = UUID.randomUUID().toString(); //把用户信息写入redis jedisClient.set(REDIS_USER_SESSION_KEY + ":"
-
Node.js刷新session过期时间的实现方法推荐
在Node.js中,我们通常使用express-session这个包来使用和管理session,保存服务端和客户端浏览器之间的会话状态.那如何才能实现当用户刷新当前页面或者点击页面上的按钮时重新刷新session的过期时间呢?类似于ASP.NET中session会话状态,只要在一定的时间内页面一直保持活动状态,session就不会过期.通过下面的代码可以实现这个功能,我们在Node.js的代码中加入下面的中间件: // use this middleware to reset cookie ex
随机推荐
- 解析jQuery与其它js(Prototype)库兼容共存
- 基于jquery实现的鼠标滑过按钮改变背景图片
- 基于Tomcat7、Java、WebSocket的服务器推送聊天室实例
- asp.net 上传图片并同时生成缩略图的代码
- 静态gb2312编码在项目传值出现中文乱码现象
- 基于jsTree的无限级树JSON数据的转换代码
- asp下利用XMLHTTP 从其他页面获取数据的代码
- JSP基于dom解析xml实例详解
- C#获取串口列表实现实时监控串口
- Javascript string 扩展库代码
- jQuery利用sort对DOM元素进行排序操作
- C#日期控件datetimepicker保存空值的三种方法
- javascript 基础简介 适合新手学习
- C++程序中启动线程的方法
- 实现一个Android锁屏App功能的难点总结
- JavaScript 乱码问题
- php数据库的增删改查 php与javascript之间的交互
- ajax还是flash
- SpringMVC编程使用Controller接口实现控制器实例代码
- Python基于matplotlib实现绘制三维图形功能示例