cookie和session

cookie

cookie是什么?

			保存在本地浏览器的键值对。

为什么要有cookie?

			HTTP是无状态的,服务器返回响应时保存在浏览器上,保存格式是一组组键值对。 

Django中cookie的使用方法:

			rep = redirect('/home/')
			rep = set.coolie(key, value, max_age=60*60*24*7) 	 # 明文cookie,有效期7天。
			rep = set.signet.cookie(key, value, salt=' ', max_age=60)    # 加盐cookie, 有效期60秒。

获取Cookie

			request.COOKIES							# 获取请求中的Cookie数据,数据格式是大字典
			request.COOKIES[key]						# 不推荐这种写法
			request.COOKIES.get(key, "默认值")				# 推荐使用这种方法取值
			request.GET  							#  获取URL里面的参数
			request.POST 							#  获取POST请求的参数
			request.FILES  							# 上传文件的数据
			
			request.get_signed_cookie(key, default="默认值", salt="")   #  获取加盐的Cookie

删除Cookie(用于注销)

			rep = redirect('/home/')
			rep.delete_cookie("key")


session

session是什么?

			保存在服务器的键值对,依赖cookie。

为什么要有session?

				cookie的数据保存在浏览器上,不安全。
				cookie数据长度有限制。

session的使用方法:

设置Session

			request.session[key] = value
			request.session.setdefault(key, value)  # 有就啥都不干,没有就赋值

获取Session

			request.session[key]
			request.session.get(key)  # 推荐

删除Session

			request.session.delete()
			request.session.flush()  # 删除Cookie和Session

清空已经过期的session数据

			request.session.clear_expired()

设置Session过期时间

			request.session.set_expiry(过期时间)

Django中Session的配置项

		1. 配置写在settings.py中

		3. 几个常用的配置项
			1. 全局设置Session的过期时间
				SESSION_COOKIE_AGE = 1209600  # 默认两周
			2. 设置每次请求来都刷新过期时间
				SESSION_SAVE_EVERY_REQUEST = True 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值