【本节目标】实现工具列表删除接口后端功能
首先打开django的urls.py
把这个删除的url写上,并且指定同名函数,虽然函数现在还没开发。
然后去views.py种实现这个函数del_tool
这个函数我们要来想一想 怎么实现
它需要以下几步:
- 获取到前端给的工具id
- 去数据库删除这个工具数据
- 返回和查询函数一模一样的全部工具列表数据
代码如下:
上图中,我们通过 get请求特有的获取参数方法 .GET[参数名] 来拿到了tool_id
然后去数据库删除,用的写法是,先筛选出这个id的工具 : .filter() 然后.delete()删除 。这个写法是orm技术提供的,django默认支持。相比较传统的sql命令,这个写法更安全 更高效 也更简单易读
然后是返回,既然要返回的和查询接口一样,那干脆直接调用查询接口函数 并把其返回的数据 再返回 给浏览器即可, 这个嵌套返回,比较巧妙,但并不推荐大家自行随意使用,因为毕竟俩个函数所需的请求体/参数有时候是不同的。
重启django服务,我们在8080端口的前端来测试一下:
先删除第二个工具,点击后效果:
再删除第一个工具:
事实证明,这个功能已经成功实现了 .... 么?
为什么要有反问?大家来仔细想一想,一个工具都包含什么?难道只有一个工具表的一行记录么?
当然不是
一个工具包含自己独立的vue组件页面,包含自己独立的数据表,包含自己独立的后台脚本,甚至牵扯到了数据统计,工单系统等等。
而这些东西是没法简单删除的,也不需要被删除!毕竟都是宝贵的资料,怎么能让删除呢?
那么我们写的这个删除功能是干嘛的?说白了,就是隐藏而已。在列表中隐藏,不让别人再进入工具详情页了。毕竟说不上哪天就要重新启用了,到时候去数据库再新增一下即可。
而这个工具表中的工具字段也不会只有这么少...不过这些都是后话了。我们才开始开发这个平台,可以想的很遥远,但是想完后还是要低头走好每一步!
本节结束,欢迎追更