龙空技术网

「python+django」django中cookie和session的使用

叽叽佩佩 157

前言:

当前朋友们对“django调用存储过程”可能比较重视,各位老铁们都想要剖析一些“django调用存储过程”的相关资讯。那么小编同时在网上收集了一些关于“django调用存储过程””的相关内容,希望大家能喜欢,兄弟们快快来了解一下吧!

HTTP协议是无状态的,会导致会话状态难以保持。Cookie和session是为了保持会话状态而诞生的两个存储技术。

cookie

其中cookie是保存在客户端浏览器上的存储空间。大概流程是,用户在浏览器登录页面,点击登录,用户名和密码就通过http协议传到了服务器后端,服务器后端拿到用户名和密码以后,从数据库层面进行验证,如果验证通过,服务器端要给这个用户发一个凭证,下次这个用户再登录,就可以直接知道它。服务器要发的凭证是它通过set_cookie方法保存用户名到里面去,再把这个凭证交给浏览器保存。

语法是HttpResponse.set_cookie(key,value=’’,max_age=存活时间/expires=具体过期时间),max_age和expires二选一,都不指定时,浏览器一关闭数据就会失效。

View.py里面调用set_cookie方法,浏览器拿到这个标志以后,就把定义的键值对存储到cookies存储区里。调用get_cookie,可以拿到当期cookies里面存储的值。

sesison

Cookie方法是把关于客户的信息凭证保存到了浏览器,但是这样是不太安全的。Session是在服务器上开辟一段空间用于保留浏览器和服务器交互时的重要数据,它实现的时候需要在浏览器客户端启动cookie,且在cookie中存储sessionid。

Setting.py中需要启动session应用django.contrib.sessions'。把浏览器cookies全部清空,再执行set_session,服务端开出存储空间,也会给浏览器重新发一个凭证,相当是打开会话的钥匙。

下面是session在django中的存储形式,session_key是浏览器中的sessionid,session_data是会话的数据(uname=linux),这里被转码了。也可以看出即使浏览器里面的cookie被删掉了,服务器端的不会被删掉。

标签: #django调用存储过程