• Cookie
  • Session

Cookie

浏览器请求服务器是无状态的,它的每一次请求对于服务器来说都是新的,服务器默认不会保存用户的状态数据。但很多时候,服务器需要保存用户的一些状态数据,比如用户是否登录过,用户浏览过哪些商品等。解决方案,有以下两种:

  1. cookie
  2. session

cookie及特点

  • Cookie是由服务器(网站)生成的,存储在浏览器端的 键值对数据(通常经过加密)
  • 在响应请求时,服务器会把生成 Cookie数据 发给浏览器,浏览器会自动保存(前提:浏览器开启了cookie功能)
  • 浏览器请求服务器(网站)时,会自动上传该服务器(网站)生成的所有Cookie
  • 每个网站只能访问到自己生成的cookie,无法访问其它网站(域)生成的cookie

第4天:Django的cookie和session

Django中Cookie的保存和读取

保存cookie: 通过HttpResponse响应对象的set_cookie方法保存

response.set_cookie('', '',max_age)

# max_age 有效期,一个整数,单位为秒,表示在多长时间后失效
# Cookie默认有效期: 如果不指定有效期,或者max_age值为None,则关闭浏览器后Cookie数据就会过期

读取cookie: 通过HttpRequest请求对象的COOKIES属性(字典类型)读取

request.COOKIES['']
# 或者:
request.COOKIES.get('')

案例

需求:

  访问 http://127.0.0.1:8000/set_cookie 界面时,保存cookie数据

  访问 http://127.0.0.1:8000/get_cookie 界面时,读取cookie数据

实现参考:

urlpatterns = [
    ...
    url(r'^set_cookie$', users.views.set_cookie),
    url(r'^get_cookie$', users.views.get_cookie),
]
url配置

相关文章:

  • 2021-12-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-17
  • 2021-06-30
猜你喜欢
  • 2021-07-28
  • 2021-12-20
  • 2021-07-26
  • 2021-12-31
  • 2021-07-06
  • 2021-11-05
相关资源
相似解决方案