读写Session
读写Session Session是保存在服务端的字典 Session与Cookie有些类似,都是通过字典管理key-value对,只不过Cookie是保存在客户端的字典,而Session是保存在服务端的字典。Session可以在服务端使用多种存在方式, 默认一般存储在内存中,一旦web服务重启,所有保存在内存中的Session就会消失。为了让Session即使在web服务器重启后仍然能够存在,也可以将Session保存到文件或者数据中。 不管如何保存Session,操作都是一样的。 Session的另外一个重要作用就是跟踪客户端。也就是说,当一个客户端浏览器访问web服务器后,关闭浏览器,再次启动浏览器,再次访问web服务。这时web服务器就会知道这个浏览器 已经访问了两次web服务。这就是通过Session跟踪的。每一个客户端访问web服务器时都会创建一个单独的Session,同时为这个Session生成一个ID,这里就叫它Session-ID。 这个Session-ID会利用Cookie的方式保存在客户端,如果客户端再次访问web服务器时,这个ession-ID也会跟着HTTP请求发送给web服务,web服务会通过这个Session-ID寻找这个客户端 的Session。也就是说如果客户端不支持Cookie,那么Session是无法跟踪客户端的。当然可以通过其他方式保存这个Session-ID,这里不做讨论。 读写session都需要使用路由函数的request的参数, 本例通过session属性读写两对key-value,并设置了Session的有效期 1、首先建立工程,建立工程请参照:https://www.cnblogs.com/effortsing/p/10394511.html 2、在工程的Firstdjango目录中建立一个session.py脚本文件,然后在session.py文件中添加如下内容: from django.http import HttpResponse
from django.http import HttpResponseRedirect def writeSession(request):
# 设置名为name的Session
request.session['name']='Bill'
# 设置名为age的Session
request.session['age']=30
return HttpResponse('writeSession')
def readSession(request):
result=''
# 读取名为name的Session,如果没有name,返回None
name=request.session.get('name')
# 读取名为age的Session,如果没有age,返回None
age=request.session.get('age')
if name:
result='<h2>name:<font color="red">'+name+'</font></h2>'
if age:
result+='<h2>age:<font color="blue">'+str(age)+'</font></h2>'
return HttpResponse(result,content_type="text/html") 3、然后在Firstdjango目录中找到urls.py脚本文件,用下面的代码代替urls.py脚本里面的内容: from django.conf.urls import url
from .import session
urlpatterns=[
#下面代码是本例添加的路由方法与正则表达式的映射
url(r'^writeSession$',session.writeSession),
url(r'^readSession$',session.readSession),
] 4、配置migrate 进入项目manage所在的目录中执行如下命令,否则会报错:no such table: django_session 进入cmd 输入盘符比如:E: 切换目录 cd E:\progect\Firstdjango python manage.py migrate 5、启动django 6、浏览器访问: http://127.0.0.1:8000/writeSession
writeSession http://127.0.0.1:8000/readSession
name:Bill
age:30 如果想精确控制session的有效期,需要在setting.py脚本文件中设置SESSION_COOKIE_AGE变量,如下面代码将session的有效期设置为20s SESSION_COOKIE_AGE=20 如果使用了上面的设置,session在20s后将过期,过期的session将无法读取。 7、上面建立session.py脚本文件创建位置如下图所示:

读写Session的更多相关文章
- 在一般处理程序里面读写session
1.引用命名空间 using System.Web.SessionState; 2.继承IRequiresSessionState接口 3.利用httpcontext类读写即可 context.ses ...
- Key/Value之王Memcached初探:三、Memcached解决Session的分布式存储场景的应用
一.高可用的Session服务器场景简介 1.1 应用服务器的无状态特性 应用层服务器(这里一般指Web服务器)处理网站应用的业务逻辑,应用的一个最显著的特点是:应用的无状态性. PS:提到无状态特性 ...
- Cookie/Session机制详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- 【转】Cookie和Session区别和联系详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- Session 失效原因
转载http://blog.csdn.net/LLorJJ999/article/details/4107464 昨天去GTSC面试,有面试官问我关于Session丢失之后怎么查的问题,说老实话,开发 ...
- 理解Cookie和Session机制(转)
目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie ...
- php中session锁--如何防止阻塞请求(译)
现代浏览器限制到一个host并发连接的数量一般为4或6.这意味着,如果您的web页面加载几十个来自同一个host的assert file(js.图像.css)时,由于并发数的限制,会产生排队.同样甚至 ...
- ASP.NET 状态服务 及 session丢失问题解决方案总结
ASP.NET2.0系统时,在程序中做删除或创建文件操作时,出现session丢失问题.采用了如下方法:1.asp.net Session的实现:asp.net的Session是基于HttpModul ...
- session的工作原理
asp中Session的工作原理:asp的Session是具有进程依赖性的.ASP Session状态存于IIS的进程中,也就是inetinfo.exe这个程序.所以当inetinfo.exe进程崩溃 ...
随机推荐
- 对于vector中高效删除中间元素的技巧
众所周知,vector是连续存储空间,只提供高效的尾部删除方法pop_back() ,在中间删除的效率很低,那么如果大家想快速删除中间元素该如何实现? 话不多说,看代码: //移除vector元素,最 ...
- 通过.frm表结构和.ibd文件恢复数据
整个恢复过程其实可以总结为下面几步: (1):恢复表结构 (2):复制出来创建表的sql语句 (3):恢复表数据(在恢复表数据的时候,首先需要解除当前创建的表与默认生成的.ibd文件间的关系,接着将要 ...
- easyui-filebox上传图片到阿里
应用场景:在fixbox图片上传时在预览图片img标签底下点击按钮触发一下函数 参考:https://www.cnblogs.com/awzf/p/9843814.html js //修改该时上传产品 ...
- eclipse 编辑器 setDirty方法无效
可能是因为使用的编辑器继承了FormPage导致的,在setDirty方法里面多加一行getManagedForm().dirtyStateChanged();就可以了.
- SVN安装与汉化
官网地址:http://tortoisesvn.net/downloads.html 如地址过期可自行百度官网,下载安装包安装64/32位 如果需要汉化的同学,同样在下载页面,往下拉Language ...
- python以下划线开头的变量和函数的作用
在python中,我们经常能看到很多变量名以_下划线开头,而且下划线的数量还不一样,那么这些变量的作用到底是什么? 变量名分类: # 以数字.字母开头: 正常的公有变量名a = 1def aa(): ...
- animation-timing-function
animation-timing-function 语法: animation-timing-function:<single-animation-timing-function>[,&l ...
- JVM相关面试
来源:老码农 ,lingsui.github.io/2018/03/30/JVM面试题/ 1.你知道哪些或者你们线上使⽤什么GC策略?它有什么优势,适⽤于什么场景? 参考 触发JVM进行Full ...
- pat 甲级 1064 ( Complete Binary Search Tree ) (数据结构)
1064 Complete Binary Search Tree (30 分) A Binary Search Tree (BST) is recursively defined as a binar ...
- BSGS ! x
一.引入: 若存在一个式子a^b ≡ c (mod p) (p ≡ 1000000007,且0<a,b,c<p) 已知a,b,求c. 这不就是快速幂嘛! 已知a,c,求b. 这就是我们需 ...