解决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实现冒泡,插入,选择排序简单实例
Aug 18 Python
利用python求解物理学中的双弹簧质能系统详解
Sep 29 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
pycharm下查看python的变量类型和变量内容的方法
Jun 26 Python
用django-allauth实现第三方登录的示例代码
Jun 24 Python
tensorflow-gpu安装的常见问题及解决方案
Jan 20 Python
TensorFlow学习之分布式的TensorFlow运行环境
Feb 05 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
Feb 18 Python
使用 Python 在京东上抢口罩的思路详解
Feb 27 Python
浅谈TensorFlow中读取图像数据的三种方式
Jun 30 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 Python
python math模块的基本使用教程
Jan 16 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
Zerg基本策略
2020/03/14 星际争霸
php DOS攻击实现代码(附如何防范)
2012/05/29 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
页面版文本框智能提示JS代码
2009/11/20 Javascript
JQuery autocomplete 使用手册
2010/04/01 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
jquery实现左右滑动式轮播图
2017/03/02 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
jQuery 改变P标签文本值方法
2018/02/24 jQuery
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
2018/06/02 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
深入理解redux之compose的具体应用
2020/01/12 Javascript
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
对Django外键关系的描述
2019/07/26 Python
python同步两个文件夹下的内容
2019/08/29 Python
利用python计算时间差(返回天数)
2019/09/07 Python
Django获取model中的字段名和字段的verbose_name方式
2020/05/19 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
Python根据字符串调用函数过程解析
2020/11/05 Python
幼儿园教师个人反思
2014/01/30 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
员工辞退通知书
2015/04/17 职场文书
Python使用华为API为图像设置多个锚点标签
2022/04/12 Python