Session
1. Session干什么用的?
解决cookie不安全的问题,
2. 原理是:
1) 存在服务器上的键值对{'sdaf随机字符串':{name:prince,pwd:123}}
2) 用session必须跟cookie连用
一: session使用(****************)
1. 设置值
request.session['name']='lqz' # 如果设置多个,它会以字典的形式存储到session表中的session_data中
2. 生成session时:
1 生成随机字符串:dfasfasdfa 2 取数据库存储 3 写入cookie(set_cookie('sessionid','dfasfasdfa'))
3. 取值
name=request.session['name']
4. 执行流程:
1) 取到cookie的随机字符串
2) 取session表中根据随机字符串查询,查询出session_data这个字典,然后把字典中name返回
5. 删除值
# 取出cookie,随机字符串,去数据库删除随机字符串是当前值的记录 request.session.delete() # 既删除cookie,又删除数据库
二: session其他属性
request.session.setdefault('k1',123) # 存在则不设置 # 取到随机字符串,浏览器带过来的cookie的值 print(request.session.session_key) # 内部 request.COOKIES.get('sessionid') # 清空失效的session request.session.clear_expired() # 校验sessionid是否存在 request.session.exists("session_key")
三: session的配置
不但能放到数据库,还能放到文件中,redis(内存数据库)