zoukankan      html  css  js  c++  java
  • Django框架之session

    Session介绍:

    在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。

    Session作用:

    它在 Web服务器上保持用户的状态信息供在任何时间从任何设备上的页面进行访问。因为浏览器不需要存储任何这种信息,所以可以使用任何浏览器,即使是像 Pad 或手机这样的浏览器设备。

    Session的特点:

    1. 依赖cookies
    2. 存储敏感、重要的信息
    3. 支持更多字节
    4. Session共享问题

    在对session操作之前,需要配置redis数据库。

    1. 安装Django框架对redis数据的支持模块:

    pip install django-redis

    2. 在setting文件中配置redis数据库:

    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/1",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        }
    }
    SESSION_ENGINE = "django.contrib.sessions.backends.cache"
    SESSION_CACHE_ALIAS = "default"

    在Django框架中我们可以对session进行如下操作:

    1. 设置session

    利用请求对象设置session:

    def index(request):
        request.session['name'] = 'laowang'
        return HttpResponse('session is ok')

    2. 获取session

    利用请求对象获取session:

    def index(request):
        data = request.session
        content = ''
        for key in data:
            content += key + '---->' + data.get(key)
        return HttpResponse(content)

    3. 删除session

    利用请求对象删除session:

    def index(request):
        # 第一种方式删除session中的指定键值对
        del request.session['name']
    
        # 第二种方式删除session中的全部键值对
        request.session.clear()
    
        # 第三种方式删除session在redis数据库中的表记录
        request.session.flush()
        return HttpResponse('delete session is ok')
    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    几款免费的支持HTML5的音频视频转换软件推荐
    2 宽度优先爬虫和带偏好的爬虫(4)
    Hadoop源代码分析(三)
    Hadoop源代码分析(四)
    C# 收邮件
    关于Adobe flash palyer 安装出现的问题解决方案
    C#调用java类、jar包方法。
    EF 4.3 的一些基础使用
    .net数据库连接池问题:在同一页面使用一段时间后,提示超时,连接池不够用这类的提示!
    使用Google CDN的JSAPI服务来提供加载各类JS库的方法
  • 原文地址:https://www.cnblogs.com/chao666/p/12108056.html
Copyright © 2011-2022 走看看