zoukankan      html  css  js  c++  java
  • Django框架的使用教程--Cookie-Session[五]

    Cookie

    cookie是存储在浏览器中的一段文本信息,下次同一网站请求,就会发送该cookie给服务器,一般的浏览器都有启动cookie,用cookie存储信息,最好不要存储密码,cookie也有大小

    cookie特点

    cookie以键值对格式进行存储信息

    不同的cookie不能进行相互的访问

    访问某个网站时,会将某个网站在浏览器保存的信息提交到服务器

    设置Cookie

    读取Cookie

    视图函数

    def get_cookie(request):
        cookie = request.COOKIES.get('gaidy')
        print(cookie)
        return HttpResponse('读取成功')

    运行结果

    Session

    Seesion就是服务器端开辟的一块内存空间,存放着客户端浏览器窗口的编号,通cookie一样也是用来记录用户的状态,比cookies简单。存放方式依然是键值对的形式存放。

    Django默认启用session

    在apps中安装session应用

    数据库中有一个django_session的表(表的结构字段有键,值,过期时间)

    数据库

    安装redis数据库扩展

    pip install django_redis

    设置本地缓存(项目工程settings设置)

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

    混合存储

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

    配置redis连接

    import django_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"

    Session的操作

    def set_session(request):
        # 设置session的键值
        request.session['gaidy'] = 25
        # 根据键读取值
        name = request.session.get('gaidy')
        print(name)
        # 清楚所有的session
        request.session.flush()
        name1 = request.session.get('gaidy')
        print(name1)
    
        return HttpResponse('ok')

     

    1.设置session

    request.session['']=值

    2.根据键读值

    request.session.get('',默认值)

    3.清楚所有的session,在存储中删除值部分

    request.session.clear()

    4.清空session数据

    request.session.flush()

    5.删除session中的指定键及值,在存储中只删除某个键及对应的值。

    del request.session['']

    6.设置session的有效期

    request.session.set_expiry(value)
    • 如果value是一个整数,session将在value秒没有活动后过期。
    • 如果value为0,那么用户session的Cookie将在用户的浏览器关闭时过期。
    • 如果value为None,那么session有效期将采用系统默认值,默认为两周,可以通过在settings.py中设置SESSION_COOKIE_AGE来设置全局默认值。

     

  • 相关阅读:
    艾伟也谈项目管理,如何让网民爱上你的网站 狼人:
    Oracle2
    万源之源之drupal7
    万源之源之drupal 之 drupal_flush_all_caches
    JavaSocket客户端,服务端通信
    windows下的bat编写经验笔记
    百度音乐搜索不公开API
    重读《Agile Retrospective敏捷回顾》一书
    Binary Search Tree 二叉搜索树 C++
    MFC控件(4):List Box
  • 原文地址:https://www.cnblogs.com/gaidy/p/9255771.html
Copyright © 2011-2022 走看看