如何快速解决django存储session变量时出现的django.db.utils.DatabaseError错误

我们在学习django进行web编程的时候,有时需要将一些全局变量信息存储在session中,但使用过程中,却发现会引起数据库的报错。通过查看django源码信息,发现其对session信息进行了ORM映射,如果数据库中不存在对应的表信息,将会导致错误。

一、错误信息

我们登录页面中的图形验证码,默认我们后端会将验证码值存储在session中,但我们设置存储验证码信息后,请求登录页面报错:

二、查看源码

我们根据报错信息查看django的源码,打开D:\developerSoft\python\Python39\lib\site-packages\django\contrib\sessions\middleware.py文件,查看第59行代码,发现其对session模型进行了save(需要存储数据到数据库中)。

三、解决问题

我们初步学习先通过把session信息存储到本地文件的方法进行处理(暂时不通过redis等缓存形式处理)。

3.1,添加文件保存路径

我们修改我们工程路径下的settings.py文件,添加如下配置:

python 复制代码
SESSION_ENGINE = 'django.contrib.sessions.backends.file'
SESSION_FILE_PATH = os.path.join(BASE_DIR, '')

3.2,移除session对应的app配置

我们再移除settings.py中对应的application definition对应的session配置:

3.3,测试页面

我们再打开我们的登录页面,发现验证码正常获取到:

相关推荐
MXM_7772 分钟前
laravel 并发控制写法-涉及资金
java·数据库·oracle
进阶的小名4 分钟前
[超轻量级消息队列(MQ)] Redis 不只是缓存:我用 Redis Stream 实现了一个 MQ(自定义注解方式)
数据库·spring boot·redis·缓存·消息队列·个人开发
列御寇4 分钟前
MongoDB分片集群——分片键(Shard Keys)概述
数据库·mongodb
weixin_445054725 分钟前
力扣热题52
开发语言·python
mengyoufengyu5 分钟前
JupyterLab4.5安装使用
python·jupyter·jupyterlab
weixin_462446236 分钟前
Python 使用阿里云 STS 获取临时访问凭证并上传文件至 OSS:Flask API 实现
python·阿里云·flask
oMcLin9 分钟前
如何在Ubuntu 22.04 LTS上通过配置ZFS存储池,提升高吞吐量数据库的读写性能与可靠性?
linux·数据库·ubuntu
橙露10 分钟前
从零基础到实战:Python 数据分析三剑客(Pandas+NumPy+Matplotlib)核心应用指南
python·数据分析·pandas
一勺菠萝丶13 分钟前
Java 对接 PLC 实战:西门子 PLC 与永宏 PLC 通讯方式全面对比
java·开发语言·python
这就是佬们吗15 分钟前
Windows 的 CMD 网络环境:解决终端无法联网与更新的终极指南
java·windows·git·python·spring·maven