会话技术及表单
会话技术及表单
1.会话技术
http的无状态特性
cookie技术(网景)
浏览器配合http协议完成的
操作cookie
总结:
1.获取客户端携带的cookie,通过request对象的COOKIES属性,他是一个python的字典。
2.设置cookie,通过response的set_cookie方法
set_cookie(key,value='',max_age=None,expire=None) #key value都是字符串
#expires是一个过期日期的字符串,格式:“wdy ,DD-Mon-YY HH:MM:SS GMT”,或者是一个datetime.datetime UTC时间对象
3.删除cookie通过response对象的 delete_cookie(key):指定删除cookie
session技术
数据库存在客户端不安全,那就保存在服务端,于是session技术产生了。
会话技术,对cookie技术的巧妙应用。
会话,一次会话,从用户打开浏览器访问某个网站,知道他停止访问,关闭浏览器,这个叫做一次会话。
会话技术,讲一次会话期间的http请求联系到一起的技术。
原理:每个用户第一次访问服务器时,服务器通过cookie技术,为每个客户分配一个独一无二的随机字符串用来标识用户,然后服务器为每个用户保存需要记录的信息,在整个会话过程中,服务器就通过客户携带的这个标记来区分用户,以及获取保存在服务器的信息,进行业务处理,这个信息就是session信息。
面试题:
1.cookie数据是保存在客户端,安全性能较差。
2.session数据是保存在服务端的。
3.session技术通过cookie技术实现的。
django操作session
1.获取session request.session属性,类字典对象
1.get(key,default=None):根据键获取会话的值
2.clear():清除所有会话数据
3.flush():删除当前会话数据,并且删除会话的cookie,当确定用户不再请求时,一般退出的时候用。
4.set_expiry():设置会话过期时间,本质上就是设置会话cookie的过期时间。
django form表单:
django.forms.Form,专门用来处理表单
在app下创建forms.py的文件,专门用来定义表单