cookie
为什么有cookie? http协议是无状态的,每次的请求是相互独立的,没办法保存状态. cookie是保存在浏览器上一组组键值对. 特点:
1.由服务器让浏览器进行设置
2. 浏览器有权进行读取或者保存
3. 下次访问时自动携带相应的cookie
django中的操作
设置
response.set_cookie(key,value,max-age=10,) # set-cookie
response.set_signed_cookie(key,value,salt='xxx')
获取
request.COOKIES #{ }
request.COOKIES[KEY]
request.COOKIES.get() # cookie
删除cookie
response.delete_cookie(key) # set-cookie
session
为什么要有session? cookie保存浏览器本地 不安全 http协议或者浏览器对cookie的大小有限制 session是保存在服务器上一组组键值对,必须依赖cookie. django中操作session
- 设置
request.session[key] = value
- 获取
request.session[key] request.session.get(key)
- 删除
del request.session[key]
request.session.pop(key)
request.session.delete() #删除所有的数据 不删除cookie
request.session.flush() #删除所有的数据 删除cookie
- 其他
request.session.set_expiry(100)
request.session.clear_expired() # 清除已过期的session数据
存储的地方: 数据库(默认) 缓存 缓存+数据库 文件 加密cookie
SESSION_SAVE_EVERY_REQUEST = True
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
版权声明:除特别注明外,本站所有文章均为王晨曦个人站点原创
转载请注明:出处来自王晨曦个人站点 » django之cookie和session