浅谈Django中的QueryDict元素为数组的坑


Posted in Python onMarch 31, 2020

一般在Django的视图函数中使用request.POST来获取请求体,request.POST是QueryDict类,通常作为dict来使用。

正常如下图

浅谈Django中的QueryDict元素为数组的坑

但是昨天在使用的时候遇到一个错误,提示从QueryDict里面pop出来的值类型为list。

一脸懵逼

在命令行敲代码,发现了这个坑, 如下图

浅谈Django中的QueryDict元素为数组的坑

可以看到,pop出来的值被放在的一个list里面。关键这个不同版本之间,行为还有所不同,就是因为在开发机器上一切正常,到了测试服务器就出问题才被发现的。

知道了问题,解决起来也简单,直接调用QueryDict的dict方法,返回一个字典

浅谈Django中的QueryDict元素为数组的坑

补充知识:django基础知识之QueryDict对象

QueryDict对象

定义在django.http.QueryDict

request对象的属性GET、POST都是QueryDict类型的对象

与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况

方法get():根据键获取值

只能获取键的一个值

如果一个键同时拥有多个值,获取最后一个值

dict.get('键',default)

或简写为

dict['键']

方法getlist():根据键获取值

将键的值以列表返回,可以获取一个键的多个值

dict.getlist('键',default)

以上这篇浅谈Django中的QueryDict元素为数组的坑就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用Python操作消息队列RabbitMQ的方法教程
Jul 19 Python
pandas重新生成索引的方法
Nov 06 Python
在PyCharm导航区中打开多个Project的关闭方法
Jan 17 Python
Python实现代码统计工具
Sep 19 Python
执行Django数据迁移时报 1091错误及解决方法
Oct 14 Python
Python 动态变量名定义与调用方法
Feb 09 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
Apr 24 Python
python爬虫实例之获取动漫截图
May 31 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
python openCV实现摄像头获取人脸图片
Aug 20 Python
python3.7 openpyxl 在excel单元格中写入数据实例
Sep 01 Python
Python + selenium + crontab实现每日定时自动打卡功能
Mar 31 #Python
python实现udp聊天窗口
Mar 31 #Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
Mar 31 #Python
Python sorted排序方法如何实现
Mar 31 #Python
解决Django中checkbox复选框的传值问题
Mar 31 #Python
Python文本文件的合并操作方法代码实例
Mar 31 #Python
Python调用接口合并Excel表代码实例
Mar 31 #Python
You might like
php防止恶意刷新与刷票的方法
2014/11/21 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
PHP7修改的函数
2021/03/09 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
jquery判断浏览器类型的代码
2012/11/05 Javascript
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
2013/06/28 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
node.js中的fs.rmdirSync方法使用说明
2014/12/16 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
JavaScript创建对象的七种方式(推荐)
2017/06/26 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
微信小程序开发之IOS和Android兼容的问题
2017/09/26 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
2018/09/21 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
Python安装与基本数据类型教程详解
2019/05/29 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
国庆庆典邀请函
2015/02/02 职场文书
统招统分证明
2015/06/23 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python
CSS 伪元素::marker详解
2021/06/26 HTML / CSS
Python编写nmap扫描工具
2021/07/21 Python
手写实现JS中的new
2021/11/07 Javascript