码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-07-04 17:32:46      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:settings   数据   连接   ati   redis   工程   技术分享   location   --   

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[五]

标签:settings   数据   连接   ati   redis   工程   技术分享   location   --   

原文地址:https://www.cnblogs.com/gaidy/p/9255771.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!