zoukankan      html  css  js  c++  java
  • Django---cookie和session

    Django的cookie和session

    一、cookie

    二、session

    回到顶部

    一、cookie

      1.特点

        1. cookie数据保存在客户端,以key-value存储

        2. cookie有过期时间,默认关闭浏览器过期

        3. cookie是基于域名安全的,浏览器在访问一个服务器,只会把跟这个服务器相关的cookie发送过去

      2.设置

        response = make_response('响应内容')

        response.set_cookie('<key>', '<value>', max_age='<过期时间: s>')  

      3.获取

        request.COOKIES.get('<key>')

      4.删除

        response.delete_cookie('<key>')

    二、session

      1.特点

        1. session数据保存在服务器,以key-value存储

        2. session依赖于cookie,每个客户端的session信息标识保存在客户端cookie中

        3. session也有过期时间,flask开启session过期时间之后默认30天,django中session过期时间默认2周

      2.设置

        request.session['<key>'] = '<value>' 

      3.获取

        request.session.get('<key>')

      4.存储方式

        1.关系数据库

          默认存储方式:django_session

          SESSION_ENGINE='django.contrib.sessions.backends.db'

        2.缓存

          注意:Django框架缓存默认是服务器内存

          SESSION_ENGINE='django.contrib.sessions.backends.cache'

        3.混合存储

          SESSION_ENGINE='django.contrib.sessions.backends.cached_db'

        4. 将session信息存储到redis中

    # 设置Django框架缓存的位置(如果不做设置,默认浏览器缓存)
    # 此处要把Django框架的缓存改为redis
    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            # 设置redis数据库地址
            "LOCATION": "redis://127.0.0.1:6379/1",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        },
        "session": {
            "BACKEND": "django_redis.cache.RedisCache",
            # 设置redis数据库地址
            "LOCATION": "redis://127.0.0.1:6379/2",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        },
    }
    
    # 设置将Django框架的session存储到缓存中,上面已经把Django框架的缓存改为类redis
    # 所以session就储存到redis中 
    SESSION_ENGINE = "django.contrib.sessions.backends.cache"
    # 设置session存储空间的名称
    SESSION_CACHE_ALIAS = "default"
  • 相关阅读:
    IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
    SQL Server重新利用数据表的空间
    IE8“开发人员工具”使用详解上
    eclipse启动时提示"Failed to load the jni shared library"
    Python学习中遇到的问题(更新中...)
    “ORA12514: TNS: 监听程序当前无法识别连接描述符中请求的服务”问题的解决
    UVa 10881 Piotr's Ants
    (转)设计模式 经典书籍必备推荐
    eclipse的配置
    用python计算文件夹大小
  • 原文地址:https://www.cnblogs.com/Mryang123/p/10277611.html
Copyright © 2011-2022 走看看