• 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')
    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    抽象类和接口的区别
    排序之快速排序(quickSort)
    互联网协议入门(1)
    字符串的操作String
    Java笔试题之SQL语句(单表)
    求职之Java开发所需技能
    【更新完毕啦!】一篇完整的产品体验报告处女作
    阿里2015暑期实习生业务型产品笔试题(附部分参考答案)
    滴滴笔试题(附我的答案)
    【面试】蘑菇街产品运营二面&结果
  • 原文地址:https://www.cnblogs.com/chao666/p/12108056.html
Copyright © 2020-2023  润新知