# Django通过开关控制数据库参数(JS版)

目录

    • 场景
    • 初始的视图层
    • HTML部分
    • JS代码
    • 视图层接受部分

场景

此时我的表单中有一排开关

image-20240320212447318

数据库有一排状态

image-20240320212529593

需求是要当开关开启时数据库state为1,关闭时为0

初始的视图层

将整个adv数据表返回给前端HTML

def adv(request):adv_list = Adv.objects.all()return render(request, 'adv.html', locals())

HTML部分

  • 当adv的状态为0时默认开关关闭,反之当state不为0时开关默认开启
{# 广告开关 #}
<td>{% if adv.state %}<form class="layui-form" action=""><div class="layui-form-item"><input type="checkbox" name="open" lay-skin="switch" lay-filter="switchTest"title="ON|OFF" data-state-name="{{ adv.title }}" data-state-id="{{ adv.id }}"checked></div></form>{% else %}<form class="layui-form" action=""><div class="layui-form-item"><input type="checkbox" name="open" lay-skin="switch" lay-filter="switchTest"title="ON|OFF" data-state-title="{{ adv.title }}"data-state-id="{{ adv.id }}"></div></form>{% endif %}

JS代码

  • form.on('switch(switchTest)', ...):这是Layui库中用于监听开关元素状态变化的方法。switchTest是一个过滤器,用于指定要监听的开关元素
  • function (data) { ... }:这是事件处理程序函数,当开关元素的状态发生变化时,该函数会被调用。data是一个参数,用于接收传递给事件处理程序的数据对象
  • const stateName = $(data.elem).data('state-name')
    const stateId = $(data.elem).data('state-id')用于获取开关上的两个自定义参数,此处表示adv表的id字段和title字段
  • $(data.elem):通过$(...)语法,将data.elem转换为jQuery对象,以便使用jQuery的相关方法
  • 最后将id传回后端
{# 控制开关 #}
var form = layui.form
form.on('switch(switchTest)', function (data) {const stateTitle = $(data.elem).data('state-title')const stateId = $(data.elem).data('state-id')layer.msg(stateTitle + '广告::' + (this.checked ? '开启' : '关闭'), {offset: '6px'});if (this.checked) {$.ajax({url: '{% url 'Blog:adv_state' %}',type: 'post',contentType: 'application/json',data: JSON.stringify({'stateId': stateId, 'state': 1}),})} else {$.ajax({url: '{% url 'Blog:adv_state' %}',type: 'post',contentType: 'application/json',data: JSON.stringify({'stateId': stateId, 'state': 0}),})}
})

视图层接受部分

  • 接受id然后根据id去修改state状态
def adv_state(request):if request.method == 'POST' and request.is_ajax:data = json.loads(request.body)print(f'开关数据:{data}')stateId = data['stateId']state = data['state']adv_obj = Adv.objects.get(id=stateId)adv_obj.state = stateadv_obj.save()return HttpResponse('ok')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/280649.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【动态三维重建】Deformable 3D Gaussians 可变形3D GS用于单目动态场景重建(CVPR 2024)

主页&#xff1a;https://ingra14m.github.io/Deformable-Gaussians/ 代码&#xff1a;https://github.com/ingra14m/Deformable-3D-Gaussians 论文&#xff1a;https://arxiv.org/abs/2309.13101 文章目录 摘要一、前言二、相关工作2.1 动态场景的神经渲染2.2 神经渲染加速 三…

Elasticsearch从入门到精通-06ES统计分析语法

Elasticsearch从入门到精通-06ES统计分析语法 bucket和metric概念简介 bucket就是一个聚合搜索时的数据分组。如&#xff1a;销售部门有员工张三和李四&#xff0c;开发部门有员工王五和赵六。那么根据部门分组聚合得到结果就是两个bucket。销售部门bucket中有张三和李四&…

RK3399 android10 移植SiS-USB触摸驱动

一&#xff0c;SiS USB触摸简介 SiS USB 触摸屏通常是一种外接式触摸屏设备&#xff0c;通过 USB 接口连接到计算机或其他设备上。这种触摸屏设备可以提供触摸输入功能&#xff0c;用户可以通过手指或触控笔在屏幕上进行操作&#xff0c;实现点击、拖动、缩放等操作。 SiS USB…

ReaLTaiizor开源.NET winform控件库学习使用

一、ReaLTaiizor项目介绍 1.1 介绍及地址 基于MIT license开源、免费、美观的.NET WinForm UI控件库&#xff1a;ReaLTaiizor ReaLTaiizor是一个开源免费的.NET WinForms控件库&#xff0c;它提供了广泛的组件和丰富的主题选项&#xff08;用户友好、注重设计&#xff09;&am…

单片机-- 数电(3)

编码器与译码器 译码 &#xff1a;将二进制代码转化为其他进制的代码 编码 &#xff1a;就是将其他代码转换为二进制码 编码器的类型 1二进制编码器 用n位二进制数码对2的n次方个输入信号进行编码的电路 2二-十进制编码器 将0到9十个十进制数转化为二进制代码的电路 2…

Uibot6.0 (RPA财务机器人师资培训第1天 )RPA+AI、RPA基础语法

训练网站&#xff1a;泓江科技 (lessonplan.cn)https://laiye.lessonplan.cn/list/ec0f5080-e1de-11ee-a1d8-3f479df4d981(本博客中会有部分课程ppt截屏,如有侵权请及请及时与小北我取得联系~&#xff09; 紧接着小北之前的几篇博客&#xff0c;友友们我们即将开展新课的学习~…

绝地求生:七周年活动来袭,小黑盒联名限时返场

就在2024.3.20号下午18点&#xff0c;小黑盒绝地求生板块上线最新活动&#xff0c;活动方法和以往一样采用积分抽奖的方式&#xff0c;通过每日签到&#xff0c;完成任务即可获得相应积分&#xff0c;抽奖需消耗10积分&#xff0c;第一天可以抽8次&#xff0c;后面每一天可以抽…

【Python + Django】Django模板语法 + 请求和响应

前言&#xff1a; 现在现在&#xff0c;我们要开始将变量的值展现在页面上面啦&#xff01; 要是只会显示静态页面&#xff0c;我们的页面也太难看和死板了&#xff0c; 并且数据库的数据也没法展现在页面上。 但是呢&#xff0c;模板语法学习之后就可以啦&#xff01;&…

Midjourney角色一致功能解读

在无数AI绘画创作者的胡呼声中&#xff0c;Midjourney终于推出了“角色一致性”功能&#xff0c;该功能可在新图像中一致地重新创建角色。AI绘画中的主要障碍终被打破。 这是因为大多数AI图像生成器都依赖于“扩散模型”&#xff0c;这些工具类似于或基于Stability AI的Stable…

IDEA中快速配置Git

Git介绍&#xff1a; Git下载 idea中配置Git

如何使用人工智能打造超用户预期的个性化购物体验

回看我的营销职业生涯&#xff0c;我见证了数字时代如何重塑客户期望。从一刀切的方法过渡到创造高度个性化的购物体验已成为企业的关键。在这个客户期望不断变化的新时代&#xff0c;创造个性化的购物体验不再是奢侈品&#xff0c;而是企业的必需品。人工智能 &#xff08;AI&…

面试题 之 react

1.说说对react的理解 1️⃣是什么 React是用于构建用户界面的 JavaScript 库,遵循组件设计模式、声明式编程范式和函数式编程概念&#xff0c;更高效使用虚拟 DOM 来有效地操作 DOM &#xff0c;遵循从高阶组件到低阶组件的单向数据流。 react 类组件使用一个名为 render() 的方…

【linux】环境基础|开发工具|gcc|yum|vim|gdb|make|git

目录 ​编辑 Linux 软件包管理器 yum 软件包: 操作&#xff1a; 拓展&#xff1a;lrzsz简介 Linux开发工具 Linux编辑器-vim使用 vim 的基本概念 命令模式 插入模式 底行模式 vim 命令模式的操作指令 vim 底行模式的操作命令 Linux编译器-gcc/g使用 功能 格…

SQLiteC/C++接口详细介绍sqlite3_stmt类(二)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类简介 下一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;三&#xff09; sqlite3_reset() 功能&#xff1a;重置一个准备好执行的SQL语…

Mysql——基础命令集合

目录 前期准备 先登录数据库 一、管理数据库 1.数据表结构解析 2.常用数据类型 3.适用所有类型的修饰符 4.使用数值型的修饰符 二、SQL语句 1.SQL语言分类 三、Mysql——Create,Show,Describe,Drop 1.创建数据库 2.查看数据库 3.切换数据库 4.创建数据表 5.查看…

Flink RocksDB状态后端优化总结

截至当前&#xff0c;Flink 作业的状态后端仍然只有 Memory、FileSystem 和 RocksDB 三种可选&#xff0c;且 RocksDB 是状态数据量较大&#xff08;GB 到 TB 级别&#xff09;时的唯一选择。RocksDB 的性能发挥非常仰赖调优&#xff0c;如果全部采用默认配置&#xff0c;读写性…

风速预测(八)VMD-CNN-Transformer预测模型

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测&#xff08;一&#xff09;数据集介绍和预处理-CSDN博客 风速预测&#xff08;二&#xff09;基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…

Sora后时代文生视频的探索

一、写在前面 按常理&#xff0c;这里应该长篇大论地介绍一下Sora发布对各行业各方面产生的影响。不过&#xff0c;这类文章已经很多了&#xff0c;我们今天主要聊聊那些已经成熟的解决方案、那些已经可以“信手拈来”的成果&#xff0c;并以此为基础&#xff0c;看看Sora发布…

GB28181 —— 5、C++编写GB28181设备端,完成将USB摄像头视频实时转发至GB28181服务并可播放(附源码)

被测试的USB摄像头 效果 源码说明 主要功能模拟设备端,完成注册、注销、心跳等,同时当服务端下发指令播放视频时 设备端实时读取USB摄像头视频并通过OpenCV处理后实时转ps格式后封包rtp进行推送给服务端播放。 源码 /****@remark: pes头的封装,里面的具体数据的填写已经占…

远程传输大文件的软件 远程文件传输

在数字化时代&#xff0c;随着数据量的急剧增长&#xff0c;远程传输大文件变得越来越重要。无论是企业间的合作&#xff0c;还是个人的日常需求&#xff0c;高效、稳定、安全的远程文件传输都是关键。本文将介绍远程传输大文件的相关软件及其特点&#xff0c;帮助读者选择最适…