Django day14(二) Session

 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(内存数据库)

原文地址:https://www.cnblogs.com/zedong/p/10003797.html