Django框架的使用教程--Cookie-Session[五]

Posted gaidy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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来设置全局默认值。

 

 

以上是关于Django框架的使用教程--Cookie-Session[五]的主要内容,如果未能解决你的问题,请参考以下文章

Django视频教程 - 基于Python的Web框架(全13集)

Django框架的使用教程--类视图-中间间-模板[六]

Django框架的使用教程--Cookie-Session[五]

python Django Wbe框架教程

Python必学Django框架,入门到精通学习视频教程全都在这可以领

最简单的 Django 教程