浅谈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入门篇之对象类型
Oct 17 Python
python按照多个字符对字符串进行分割的方法
Mar 17 Python
在Linux命令行终端中使用python的简单方法(推荐)
Jan 23 Python
python让列表倒序输出的实例
Jun 25 Python
小白入门篇使用Python搭建点击率预估模型
Oct 12 Python
python opencv读mp4视频的实例
Dec 07 Python
Python根据服务获取端口号的方法
Sep 25 Python
parser.add_argument中的action使用
Apr 20 Python
python函数调用,循环,列表复制实例
May 03 Python
Python获取浏览器窗口句柄过程解析
Jul 25 Python
Python常遇到的错误和异常
Nov 02 Python
python中filter,map,reduce的作用
Jun 10 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 分页类(模仿google)-面试题目解答
2009/09/13 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
JavaScript实现禁止后退的方法
2006/12/27 Javascript
学习ExtJS table布局
2009/10/08 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
nodejs读取memcache示例分享
2014/01/02 NodeJs
jquery实现图片左右切换的方法
2015/05/07 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
2017/03/21 jQuery
webpack多入口多出口的实现方法
2018/08/17 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
Python异常学习笔记
2015/02/03 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
python脚本后台执行方式
2019/12/21 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
Python如何实现Paramiko的二次封装
2021/01/30 Python
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
String这个类型的class为何定义成final?
2012/11/13 面试题
介绍一下.net和Java的特点和区别
2012/09/26 面试题
母婴店促销方案
2014/03/05 职场文书
五水共治捐款倡议书
2014/05/14 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
2014年科室工作总结
2014/11/20 职场文书
公司食堂管理制度
2015/08/05 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
CSS的class与id常用的命名规则
2021/05/18 HTML / CSS
关于Redis的主从复制及哨兵问题
2022/06/16 Redis
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS