解决Django中checkbox复选框的传值问题


Posted in Python onMarch 31, 2020

Django 中,html 页面通过 form 标签来传递表单数据。

对于复选框信息,即 checkbox 类型,点击 submit 后,数据将提交至 view 中的函数。

我们通过request.POST.get() 函数来获取来自 html 页面的值,但是该函数只能 get 到选中的最后一个值。

因此想要传递选中的多个值,需要用 request.POST.getlist() 函数

该函数返回一个列表,可通过迭代来获取列表中每一项的值。

补充知识:解决checkbox复选框选中传值,不选中不传值的方案

解决checkbox复选框选中传值,不选中不传值的方案

问题描述:

一个form表单中的结构是这样的:

解决Django中checkbox复选框的传值问题

则页面显示结果是:

解决Django中checkbox复选框的传值问题

如上填写数据,经过序列化后的数据是:

[

{"id":"1","infoType":"11","infoName":"名称1","fileIsOpen":"o"},

{"id":"2","infoType":"12","infoName":"名称2","fileIsOpen":"n"}

]

从数据中明显看书fileIsOpen字段的checkbox复选框选中则传值是"o",未被选中则传值是"n",其中这是错误的数据,因为被选中传的值是on,也就是说checkbox复选框选中传值,不选中不传值。那么怎么解决不选中也传值的问题呢?

解决方案:

我们可以设置隐藏域来代替checkbox复选框传递数据,具体的页面修改如下:

解决Django中checkbox复选框的传值问题

checkbox复选框对应的点击事件:

解决Django中checkbox复选框的传值问题

再次输入相同的数据传递的数据是:

[

{"id":"1","infoType":"11","infoName":"名称1","fileIsOpen":"0"},

{"id":"2","infoType":"22","infoName":"名称2","fileIsOpen":"1"}

]

从数据可以这次传递的数据是正确的

上述方案存在的问题

如果页面什么不传递,

解决Django中checkbox复选框的传值问题

则传递的数据是这样的:

[

{"fileIsOpen":"0"},

{"fileIsOpen":"0"}

]

因此后台在接受到数据后需要判断List集合中的对象的必选要素,如果不包含必传要素,就算传入上述数据也是不录入数据库的数据,则可以舍去这些数据。

以上这篇解决Django中checkbox复选框的传值问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python解析html开发库pyquery使用方法
Feb 07 Python
举例讲解Python中的迭代器、生成器与列表解析用法
Mar 20 Python
好用的Python编辑器WingIDE的使用经验总结
Aug 31 Python
python hbase读取数据发送kafka的方法
Dec 27 Python
浅谈Python大神都是这样处理XML文件的
May 31 Python
十分钟搞定pandas(入门教程)
Jun 21 Python
在Python函数中输入任意数量参数的实例
Jul 16 Python
python处理excel绘制雷达图
Oct 18 Python
python中dict()的高级用法实现
Nov 13 Python
Python爬取365好书中小说代码实例
Feb 28 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
Aug 03 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 Python
Python文本文件的合并操作方法代码实例
Mar 31 #Python
Python调用接口合并Excel表代码实例
Mar 31 #Python
Python如何批量获取文件夹的大小并保存
Mar 31 #Python
Django使用list对单个或者多个字段求values值实例
Mar 31 #Python
django实现模板中的字符串文字和自动转义
Mar 31 #Python
Python使用graphviz画流程图过程解析
Mar 31 #Python
Django模板之基本的 for 循环 和 List内容的显示方式
Mar 31 #Python
You might like
php读取csv数据保存到数组的方法
2015/01/03 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
js完美的div拖拽实例代码
2014/01/22 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
浅析javascript的return语句
2015/12/15 Javascript
Three.js学习之网格
2016/08/10 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
Vue axios设置访问基础路径方法
2018/09/19 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
jQuery创建折叠式菜单
2019/06/15 jQuery
Javascript 对象(object)合并操作实例分析
2019/07/30 Javascript
Vue数字输入框组件的使用方法
2019/10/19 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
Python读取excel指定列生成指定sql脚本的方法
2018/11/28 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
python右对齐的实例方法
2020/07/05 Python
PyQt5的QWebEngineView使用示例
2020/10/20 Python
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
专业销售业务员求职信
2013/11/18 职场文书
总经理驾驶员岗位职责
2013/12/04 职场文书
运动会通讯稿300字
2014/02/02 职场文书
学习十八届四中全会依法治国心得体会
2014/11/03 职场文书
学术研讨会主持词
2015/07/04 职场文书
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python
canvas 中如何实现物体的框选
2022/08/05 Javascript