浅谈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实现的简单文件传输服务器和客户端
Apr 08 Python
Python实现对象转换为xml的方法示例
Jun 08 Python
python调用OpenCV实现人脸识别功能
May 25 Python
详解python的四种内置数据结构
Mar 19 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
使用PyQt5实现图片查看器的示例代码
Apr 21 Python
Python requests及aiohttp速度对比代码实例
Jul 16 Python
Python3+selenium配置常见报错解决方案
Aug 28 Python
Python远程linux执行命令实现
Nov 11 Python
Python爬取某平台短视频的方法
Feb 08 Python
python3实现无权最短路径的方法
May 12 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
Smarty+QUICKFORM小小演示
2007/02/25 PHP
PHP中for与foreach的区别分析
2011/03/09 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
2012/12/12 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
使用Python操作MySQL的一些基本方法
2015/08/16 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
神路信息Java面试题目
2013/03/31 面试题
新郎婚宴答谢词
2014/01/19 职场文书
酒店端午节促销方案
2014/02/18 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
个人自查自纠材料
2014/10/14 职场文书
2014年世界艾滋病日宣传活动总结
2014/11/18 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
Python实现双向链表基本操作
2022/05/25 Python
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL