解决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编程时利用wxPython来支持多线程的方法
Apr 07 Python
Python实现监控程序执行时间并将其写入日志的方法
Jun 30 Python
Python程序中设置HTTP代理
Nov 06 Python
Python md5与sha1加密算法用法分析
Jul 14 Python
Python给定一个句子倒序输出单词以及字母的方法
Dec 20 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
python实现简单井字棋游戏
Mar 04 Python
Python爬虫实现HTTP网络请求多种实现方式
Jun 19 Python
浅谈django不使用restframework自定义接口与使用的区别
Jul 15 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
Dec 01 Python
Python Spyder 调出缩进对齐线的操作
Feb 26 Python
python通过函数名调用函数的几种方法总结
Jun 07 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中urlencode与rawurlencode的区别
2016/09/05 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
来自qq的javascript面试题
2010/07/24 Javascript
基于jQuery的实现简单的分页控件
2010/10/10 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
js自定义事件代码说明
2011/01/31 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
详解Python2.x中对Unicode编码的使用
2015/04/03 Python
详解Python中的循环语句的用法
2015/04/09 Python
python 换位密码算法的实例详解
2017/07/19 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
Python 私有化操作实例分析
2019/11/21 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
毕业设计计划书
2014/01/09 职场文书
建筑工程毕业生自我鉴定
2014/01/14 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
小学校长汇报材料
2014/08/20 职场文书
党支部四风整改方案
2014/10/25 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
在校学生证明格式
2015/06/24 职场文书
高中班主任心得体会
2016/01/07 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
Java实现房屋出租系统详解
2021/10/05 Java/Android
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js