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‘)

原文地址:https://www.cnblogs.com/chao666/p/12108056.html

时间: 2024-10-20 18:02:53

Django框架之session的相关文章

十一 Django框架,Session

Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 1.数据库(默认)2.缓存3.文件4.缓存+数据库5.加密cookie 1.数据库Session,保存在数据库 Django默认支持Session,并且默认是将Session数据存储在数据库中,即:django_session 表中. 全局配置Session Django默认支持Session,并且默认是将Session数据存储在数据库中,即:django_session 表中. a. 配置 setting

第十一章 Django框架学习——Cookie和session

第十一章 Django框架学习--Cookie和session 一.Cookie简介 二.装饰器版登录校验 三.session简介 四.如何在CBV中使用装饰器 一.Cookie简介 什么是Cookie(what): Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息. Cookie的原理:由服务器产生内容,浏览器收到请求后保存在本地:当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能

Django 框架篇(六): Cookie 与 Session

Cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况. 一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全新的. 状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留.会话中产生的数据又是我们需要保存的,也就是说要"保持状态".因此Cookie就是在这样一个场景

Django框架(九)--cookie和session

cookie和session组件 cookie 1.cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况. 一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全新的. 状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留.会话中产生的数据又是我们需要保存的,也就是说要“保持状态”.因此C

Django框架基础之session

Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去.会话状态仅在支持 cookie 的浏览器中保留 Cookie是什么?             保存在客户端浏览器上的键值对 Session是什么?             保存在服务端的数据(本质是键值对)             服务端sess

Django框架 之 Cookie、Session整理补充

浏览目录 Django实现的Cookie Django实现的Session 一.Django实现的Cookie 1.获取Cookie 1 2 3 4 5 6 request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)     #参数:         default: 默认值            salt: 加密盐         max_age: 后台控制过

Django框架(十五)-- cookie和session组件

一.cookie 1.cookie的由来 HTTP协议是无状态的.无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况. 客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留.会话中产生的数据又是我们需要保存的,也就是说要“保持状态”.因此Cookie就是在这样一个场景下诞生. 2.什么是cookie 存储在客户端浏览器上的键值对. 随着服务器端的响应发送给客户端浏览器.

Django框架<一>

Django框架 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 一.django的安装实现和目录介绍 1.django实现流程 django #安装: pip3 install django 添加环境变量 #1 创建project django-admin startproject mysite ---mysite ---settings.p

Django框架

Django框架全面讲解 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 本文将带大家全面了解Django框架,笔者使用的版本为1.10. 1 Django流程介绍 2 Django 基本配置 一.创建django程序 终端命令:django-admin startproject sitename  (在当前目录下创建一个Django程序) I