zoukankan      html  css  js  c++  java
  • doraemon的python cookie和session(国庆大更新)

    ### 11.10   cookie和session
    
    #### 11.10.1  cookie
    
    定义:保存在浏览器本地上的一组组键值对
    
    为什么有cookie?
    
    - http协议是无状态的,每次http请求都是对立的,相互之间没有关联,yongcoolie保存状态
    
    特点:
    
    1. 由服务器让浏览器进行设置的
    2. 浏览器保存在浏览器本地
    3. 下次访问的时候自动携带
    4. 应用场景:登录、保存浏览器习惯、简单的投票
    
    django中操作cookie
    
    设置:
    
    ```python
    ret = redirect('index')
    ret.set_cookie('key','value',max_age=1000,path='/')  #没有加盐的
    ret.set_signed_cookie('is_login','1','liujia')  #加盐
    ```
    
    获取
    
    ```python
    request.COOKIES.get()
    request.COOKIES[]
    request.COOKIES{}   #未加盐的获取方式
    is_login = request.get_signed_cookie('is_login',salt='liujia',default='')#加盐的获取方式
    ```
    
    删除
    
    ```python
    ret = redirect('/login/')
    ret.delte_cookie('is_login')
    ```
    
    #### 11.10.2  session
    
    定义:保存在服务器上的一组组键值对(必须依赖cookie)
    
    为什么要有session
    
    - cookie保存在浏览器本地,不安全
    - 大小个数受到限制
    
    django中操作session
    
    ```python
    request.session[key]=value
    
    #获取
    request.session[key]   request.session.get(key)
    
    #查看session的全部配置
    from django.conf import global_settings
    
    
    #将所有session失效日子小于当前日期的数据删除
    request.session.clear_expired()
    
    #检查回话session的key在数据库中书否存在
    request.sessin.exists('session_key')
    
    #删除当前会话的所有session数据  删除session的数据 不删除cookie
    request.session.delete()
    
    #删除当前的会话数据并删除会话的cookie   删除session的数据 删除cookie
    request.session.flush()
        这用于确保前面的绘画数据不可以再次被用户的浏览器访问
        例如:django.contrib.auth.logout() 函数中就会调用它
        
    #设置会话数据和cookie的超时时间
    request.sessiont_exirpy(value)
    
    
    
    ```
    
    ### 
  • 相关阅读:
    黑洞数
    三态门最简单的描述方法
    数据选择器的符号和真值表
    RGB的同步信号
    奇场和偶场在信号格式上的差别
    CPOL与CPHA
    Pixel Replication
    HDMI传输中MCLK的获得
    Protel99 1:1打印PCB
    二极管和整流管
  • 原文地址:https://www.cnblogs.com/doraemon548542/p/11638555.html
Copyright © 2011-2022 走看看