Django Views 9. Session语法


之前讲过cookie的语法和应用,现在来看看session的语法和应用

设置

新建对象

在session中添加数据,是session_store对象

request.session[‘uname’] = ‘zhangsan’

设置完后,在数据库中会建一个session系统表
有key,data,过期时间
其中data是我们设置的信息,且进行了json序列化

网页中可以看F12,在cookie里有session

可以看session源码,新版没有视频里的源码。
进global_setting.py可以看到session的各类默认设置

修改有效时间

session默认14天有效时间,可以用该属性进行修改

request.session.set_expiry(32460*60)

  1. 设置有效时间为3天,默认秒
  2. 设置0表示关闭浏览器后到期
  3. 设置为日期,指定日期值后到期

删除

刚才在设置里提到,新建session会有store对象和数据库两个内容

删除对象

只删除了session_store对象的信息,数据库不变

del request.session[‘uname’]

删除对象和数据库

request.session.flush()

获取

获取data

uname = request.session[‘uname’]

获取key

session在服务器里的保存分为两部分

  1. 随机字符串session_key,相当于cookie里的session id
  2. 每个session id对应了一个session_store对象,是字典的形式

{id:1, name:“alax”, account:100000}

所以可以通过session对象获取session key

输出session的id用

print request.session.session_key

刚设置的值在服务器里,响应过来给客户端response,需要再刷新一次就可以了,浏览器的request里

ModuleNotFoundError: No module named 'django.contrib.session'是一个常见的错误,它意味着在您的项目中找不到名为'django.contrib.session'的模块。这可能是由于几个原因导致的。 首先,请确保您已经正确安装了Django。您可以使用命令'pip show django'来检查Django的安装情况。如果它没有被正确安装,您可以使用命令'pip install django'来安装最新版本的Django。 如果您已经安装了Django,那么可能是因为您的项目中缺少了一些必要的配置。请检查您的项目的settings.py文件,并确保在INSTALLED_APPS部分中包含了'django.contrib.sessions'。如果没有,请添加它并重新启动项目。 另外,还要确保您的项目结构正确,即确保您的settings.py文件位于正确的位置,并且可以被pycharm正确识别。有时,pycharm可能无法正确加载Django项目,可能是因为它没有将项目设置为正确的根目录。请尝试在pycharm中重新配置项目的工作目录,并确保它是正确的。 最后,如果您的项目依赖于其他第三方库或模块,可能是因为您的环境中缺少了这些依赖项。请确保您已经安装了所有项目所需的依赖项,并且它们的版本与您的项目兼容。 综上所述,要解决ModuleNotFoundError: No module named 'django.contrib.session'错误,您应该确保正确安装了Django,检查并配置了正确的settings.py文件,正确配置了项目的工作目录,并确保所有依赖项都已正确安装。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值