解决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实现把回车符\r\n转换成\n
Apr 23 Python
简单谈谈python的反射机制
Jun 28 Python
Python中多个数组行合并及列合并的方法总结
Apr 12 Python
Python3.6笔记之将程序运行结果输出到文件的方法
Apr 22 Python
python语音识别实践之百度语音API
Aug 30 Python
python 随机打乱 图片和对应的标签方法
Dec 14 Python
如何用Python制作微信好友个性签名词云图
Jun 28 Python
使用Python实现 学生学籍管理系统
Nov 26 Python
Python实现井字棋小游戏
Mar 09 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
Apr 08 Python
python 实现Requests发送带cookies的请求
Feb 08 Python
Pytorch之扩充tensor的操作
Mar 04 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
PHP中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
拖动一个HTML元素
2006/12/22 Javascript
JS加ASP二级域名转向的代码
2007/05/17 Javascript
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
基于jQuery实现搜索关键字自动匹配功能
2020/03/26 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
领导干部培训感言
2014/01/23 职场文书
服务型党组织建设典型材料
2014/05/07 职场文书
实习生工作证明范本
2014/09/14 职场文书
合作协议书模板
2014/10/10 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
2015年后备干部工作总结
2015/05/15 职场文书
员工旷工检讨书
2015/08/15 职场文书
2019公司管理制度
2019/04/19 职场文书
使用Python解决图表与画布的间距问题
2022/04/11 Python