zoukankan      html  css  js  c++  java
  • django cookie、session

    1.cookie

    (1)什么是cookie?

      服务器让浏览器保存在浏览器本地的键值对

    (2) 为什么要有cookie?

      因为http协议无状态,每一次访问请求没有任何关系,无法保存状态

    (3)cookie的特点?

      cookie是由服务器给浏览器设置的

      在同一个浏览器中访问页面时,携带者cookie

    (4)设置cookie

      例如:

      response1 = redirect(‘/login/’)

      response1.set_cookie(key, value)  或者  response1.set_cookie(key, value,max_age)   其中max_age是创建的这个cookie在浏览器中保存多长时间,单位秒

      response1.set_cookie(key, value,salt='')  加盐加密

    (5)获取cookie 

      request.COOKIES['key']  或者

      request.COOKIES.get(key)    推荐取法

    (6) 删除cookie

      res.delete_cookie(key)

    2.session

    (1)什么是session

      session是保存在服务器上的键值对,每一个session对应一个cookie,其依赖于cookie

    (2)为什么用session 

      1.cookie在浏览器端,不太安全

      2.cookie保存的长度受限

    (3)设置session

      request.session[key] = value  或者

      request.session.setdefault(key,value)  当存在时不设置

    (4)获取session

      request.session[key]  或者

      request.session.get('key', ‘’)

    (5) 删除session 

      request.session.pop(key)     删除某个键值对

      del request.session['key']

      request.session.delete()   删除所有的session键值对

      request.session.flush()   删除所有的session键值对及cookie键值对

      request.session.set_expiry()   设置超时时间request.session.clear_expired()    清除当前过期的session

    (6)session的其他的配置

    SESSION_COOKIE_NAME = 'sessionid'
    # Age of cookie, in seconds (default: 2 weeks).
    SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2
    # Whether to save the session data on every request.
    SESSION_SAVE_EVERY_REQUEST = False
    # Whether a user's session cookie expires when the Web browser is closed.
    SESSION_EXPIRE_AT_BROWSER_CLOSE = False

    3.在设置session时,涉及了数据的传输,需以json的形式,所以在设置session时,其对应的值要符合转换为json的数据类型。获取session时其又会反序列化回来

  • 相关阅读:
    显示所有用户,mysql的基本操作
    创建用户的方法 3种mysql创建方法
    mysql在win系统dos 安装版配置步骤详解
    Docker学习(二) 数据卷(Volume)的使用
    Docker学习-私有仓库docker-registry的使用
    php 调用curl_init失败
    ubuntu 远程 window
    ubuntu 16.04服务器安装apache2 + php + mysql
    Git 的简单使用及ssh配置问题-赖大大
    python scrapy 爬取西刺代理ip(一基础篇)(ubuntu环境下) -赖大大
  • 原文地址:https://www.cnblogs.com/zhaosijia/p/9671719.html
Copyright © 2011-2022 走看看