Django - Session

Django - Session 首页 / Django入门教程 / Django - Session

Django中的 Session 是一种在与django Web应用程序交互期间在服务器端存储少量信息的机制。 会话信息存储在数据库中,并允许基于缓存或基于文件的会话。 Django会话由 settings.py 中提到的中间件和会话应用实现,即 django.contrib.sessions.middleware.SessionMiddleware django.contrib.sessions

Set/Get Session

要在视图中设置并获取dango Session,可以使用 request.session 。也可以多次设置Session会话。

request.session

Session还可以使客户端存储的 Cookie 数据更加安全。 它可用于抽象化cookie的接收和发送,使用Session ID进行标识并将数据存储在数据库中。还可以使用Web浏览器中的not accept cookie设置。

Session示例

view.py 中提及以下代码

    from django.shortcuts import render  
    from django.http import HttpResponse  
      
    def setsession(request):  
        request.session['sname'] = 'Ram'  
        return HttpResponse("User session is set")  
        
    def getsession(request):  
        sname = request.session['sname']  
        return HttpResponse("Welcome " + sname);  
                                

首次访问该网址时,响应为:

User session is set

重新访问url响应将是:

Welcome Ram

Session超时

要在指定的时间戳(以秒为单位)后使django Session超时,请在settings.py中提及以下代码

    SESSION_COOKIE_AGE = 60 # for 60 seconds timestamp

要在指定的非活动时间戳记(以秒为单位)后使django Session 超时,请在settings.py中提及以下代码

pip install django-session-timeout
    MIDDLEWARE = [
    ...
    'django_session_timeout.middleware.SessionTimeoutMiddleware',
    ...
    ]
                                
    SESSION_EXPIRE_SECONDS = 30
    SESSION_EXPIRE_AFTER_LAST_ACTIVITY = True

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术领导力实战笔记 -〔TGO鲲鹏会〕

Java并发编程实战 -〔王宝令〕

Go语言从入门到实战 -〔蔡超〕

Vue开发实战 -〔唐金州〕

TensorFlow 2项目进阶实战 -〔彭靖田〕

用户体验设计实战课 -〔相辉〕

Redis源码剖析与实战 -〔蒋德钧〕

网络排查案例课 -〔杨胜辉〕

云时代的JVM原理与实战 -〔康杨〕

好记忆不如烂笔头。留下您的足迹吧 :)