在Django中操作session

在django中session默认情况下是存储在服务器的数据库中的,在表中会根据sessionid来提取指定的session数据,然后再把这个sessionid放到cookie中发送给浏览器存储,浏览器下次在服务器发送请求的时候会自动的把所有的cookie信息发送给服务器,服务器再从cookie中获取sessionid,然后再从数据库中获取session数据。但是我们在操作session的时候,这写细节是不用纠结的,可以直接通过request.session即可操作。
在views.py文件中示例代码如下:
from django.http import HttpResponse

def index(request):
request.session['username'] = 'guyan'
session = request.session.get('username')
print(session)
return HttpResponse('Success')
在数据库中的django_session表中存储了session_key(随机生成的标识session中存储的数据的唯一性id,即主键),session_data(经过加密之后的数据),expire_date(过期时间),这三项数据。
在浏览器中查看cookie中是否有session_id,并且内容与数据库中的sessions_key的内容一样。
session常用的方法如下:
(1)get:用来从session中获取指定值。
(2)pop: 从session中删除一个值,并且将删除的值进行返回
username = request.session.pop('username')
(3)keys:从session中获取所有的键。
(4)items:从session中获取所有的值。
(5)clear:清除当前这个用户的session数据。
request.session.clear()
(6)flush:删除session并且删除在浏览器中存储的session_id,一般会在注销的时候用的比较多。
request.session.flush()
(7)set_expiry(value):设置过滤时间。
  1. 整形:代表的是秒数,设置多少秒之后过期。
  2. 0:代表的是只要浏览器关闭session就过期。
  3. None:会使用全局的session配置。在settings.py中可以设置SESSION_COOKIE_AGE来配置全局的过期时间。默认是1209600秒,也就是2周的时间。
request.session.set_expiry(None)
(8)clear_expired:清除过期的session。jango并不会清除过期的session,需要定期的清理,或者是在终端,使用命令行python manage.py clearsession来清除过期的session。
<!--首先设置一个过期的时间-->
request.session.set_expiry(-1)

137.在Django中操作session的更多相关文章

  1. {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

    Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...

  2. django中操作cookie与session

    cookie 什么是Cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息. Cookie的 ...

  3. Django中的session和cookie及分页设置

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  4. Django中cookie&session的实现

    1.什么叫Cookie Cookie翻译成中文是小甜点,小饼干的意思.在HTTP中它表示服务器送给客户端浏览器的小甜点.其实Cookie是key-value结构,类似于一个python中的字典.随着服 ...

  5. Django中的Session和cookie

    Session和cookie 参考文献:https://www.cnblogs.com/wupeiqi/articles/5246483.html 1.问题引入 1.1 cookie是什么? 保存在客 ...

  6. Django中的session于cookie的用法

    1.cookies 1.django 中使用 cookies 1.设置cookies的值(将数据保存到客户端) 语法: 响应对象.set_cookie(key,value,expires) key:c ...

  7. Django中的Session与Cookie

    1.相同与不同 Cookie和Session都是为了记录用户相关信息的方式, 最大的区别就是Cookie在客户端记录而Session在服务端记录内容. 2.Cookie和Session之间的联系的建立 ...

  8. Django中的session的使用

    一.Session 的概念 cookie 是在浏览器端保存键值对数据,而 session 是在服务器端保存键值对数据 session 的使用依赖 cookie:在使用 Session 后,会在 Coo ...

  9. (25)Django中操作cookie与session组件(添加cookie和删除cookie)

    cookie是存在于客户端浏览器上的键值对,是明文的 cookie是当用户访问网站时候和数据提起携带过去,安全性比较差, 容易被拦截 session存在于服务端的键值对,是一串加密的字符串 当用户登陆 ...

随机推荐

  1. 推荐算法之因子分解机(FM)

    在这篇文章我们将介绍因式分解机模型(FM),为行文方便后文均以FM表示.FM模型结合了支持向量机与因子分解模型的优点,并且能够用了回归.二分类以及排序任务,速度快,是推荐算法中召回与排序的利器.FM算 ...

  2. 《自拍教程13》Windows的常用命令

    这些是Windows系统自带的常用DOS命令集合, 先大概了解下,当然如果能熟练掌握那最好了. 后续思维篇,思维篇还会结合不通的测试场景, 届时将列出这些命令更详细的使用描述. table.dataf ...

  3. golang-练习ATM --面向对象实现

    package utils import ( "fmt" "strings" ) type StructAtm struct { action int loop ...

  4. VNC 远程桌面 连接(安装桌面程序)

    1.修改linux启动方式       # vi /etc/inittab         将3改为5     id:5:initdefault:   2.关闭防火墙(或者单独打开接口)     #s ...

  5. [jQuery]jQuery和DOM对象(三)

    iQuery和DOM对象 用原生js获取来的对象就是DOM对象 // 1. DOM对象 var myDiv = document.get.querySelector('div'); // myDiv ...

  6. HDU 1017 直接暴力。

    C - 3 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...

  7. 1、SSH无密码访问

    1.在需要无密码登录远程服务器的机器上(如A→B服务器)生成密码对 A:服务器操作: ssh-keygen -t rsa :输出的内容直接一路回车即可(enter) 执行上面一步,会在~/.ssh目录 ...

  8. Ubuntu-Server18.04开启无线网卡并配置静态ip

    手里有一个笔记本快10年了,还是奔腾处理器,最近把它做成了Ubuntu-Server的系统,花了点时间折腾无线网卡,稍微记录一下,希望看见的人能少踩点坑. 1. 制作U盘启动工具,从Ubuntu官网下 ...

  9. 重构与动态为angularjs栏位赋值或获取值

    先来看下面一段html: 这个ng-model名称带有一定的规律带有序号. 先来实现数据绑定,从数据取到数据后,为ng-model绑定相对应的值: var c = response.data $sco ...

  10. js对象模型1