当前位置: 首页 > news >正文

如何快速解决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文件,添加如下配置:

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,测试页面

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

相关文章:

  • 在Windows下VSCodeSSH远程登录到Ubuntu
  • MySQL多表查询核心指南
  • Unity程序嵌入Qt后点击UI按钮Button没有反应
  • 上海芯片企业列表
  • 豪越消防一体化安全管控平台:消防管理智能化
  • 《深度剖析SQL之WHERE子句:数据过滤的艺术》
  • uni-app:指引蒙层
  • chrome插件,绕过CSP限制,Refused to run the JavaScript URL问题
  • NameError: name ‘disclaim_key_flags‘ is not defined
  • Docker-从入门到实践
  • 平板实现 adb connect 连接的步骤
  • (C语言)学生信息表(基于通讯录改版)(测试版)(C语言项目)
  • 创作者会被AI取代吗?AIGC为电影行业带来新变革
  • CCF CSP 第34次(2024.06)(1_矩阵重塑(其一)_C++)
  • 【OCR】技术
  • 关于计算机视觉中的插值小记
  • Ansible:playbook实战案例
  • PaddleX产线集成功能的使用整理
  • 第21周:RestNet-50算法实践
  • 独立站怎么推广运营?详细教程和引流重点
  • 莆田做网站建设/如何进行网站性能优化?
  • 做个自己的网站需要多少钱/seo jsbapp9
  • 手机制作视频的软件哪个好/烟台seo快速排名
  • 金山做网站的公司/360社区app
  • 北京网站建设公司如何选/影视后期培训班一般要多少钱
  • 怎么在vps上做网站/网站排名优化外包公司