废话不多说,书接上文:
我们本节要搞定 这个大用例的增删复制等功能:
打开我们的P_cases.html,找到新增按钮:
我们这时候要点击它 触发新增功能,有俩个办法:
1是写个onclick,然后在js函数里异步请求后台,让后台新增一个,然后返回后我们前段刷新页面就看到了新增的用例。
2是给它外面套一层a标签,然后在a标签中直接写href="" ,来让后台创建新用例并且实现重新进入/刷新的情形。
显然,后者更加简单。
好,让我们盘它:
注意这里要在url中加上项目id,以便后台知道把这个新用例归属到哪个项目。
然后我们去urls.py中写好:
然后我们去后台views.py写这个add_case:
这里我们直接调用orm的方法,create来生成,别忘了项目id,但是最后我们要重定向返回 用例列表,这样可以防止顶部url变成/add_case/1/ 不然用户不小心刷新的话,就又会触发一次新增了。注意重定向的路由中同样要使用项目id。不然我们就返回到其他项目里了。
好了。我们重启服务,刷新页面,测试下看看:
点击新增按钮,已经可以正常增加了。
好 接下来是删除功能。
我们在P_cases.html中找到删除按钮,同样方式加上跳转链接。
注意 因为我们要删除用例,所以除了加上项目id外,还需要加上要删除的用例id,注意顺序哦~
当然我这个土办法 只是无数办法的一个。大家可以选择其他方式锻炼自己。
然后去写urls.py:
最后是views.py中写好del_case:
代码中删除了该用例,然后一样重定向到了用例库
然后我们重启服务,刷新页面,试一下:
好,已经成功删除!
接下来我们搞定复制功能,说起这个复制功能,它不单单是复制了这个用例,而是把这大用例关联的所有小接口用例,都给复制了,并且重新关联上。但是目前我们没做到小接口用例,所以暂时就复制出这个大用例这个空壳就好了。
找到p_cases.html中的复制按钮,同样的土方法招呼。
然后是urls.py:
最后是views.py中写好该函数:
代码显示查出了旧用例,然后再创建新用例,新用例的所属项目id直接等于旧用例的所属项目id,名字是后面加了个_副本。
然后同样是重定向方式返回。
重启服务,刷新页面,测试一下:
嘿嘿,搞定。 这个复制函数,后续我们还是要继续补充的哦~
现在让我们去解决一个漏掉的问题,就是删除项目时候的彻底删除。
我们既然已经创造了用例这个实体,那么删除一个项目的时候,理应删除旗下所有用例,不然那些用例就要变成孤儿了,还不如斩草除根一起送走。
找到删除项目函数,加上以下部分:
好了 ,现在好了,等之后我们创造了小接口用例实体后,这里同样要增加小接口用例删除的代码,然后在我们删除大用例的函数中,也增加删除旗下小接口用例的代码。
有的同学会觉得这样比较麻烦,当然麻烦!
因为实现一个功能,其实我们有很多很多办法,只是我在讲一个理解起来最简单,最不容易出错的方法。等之后我会给大家用数据库的连级自动删除写法,希望大家不要着急,体谅一下基础少的小伙伴。
好了,今天的内容到此结束。欢迎继续关注和扩散!没加群的小伙伴速度了啊~群里异常火爆,一个有公众号作为主体的技术群,和其他普通技术群可不一样,因为公众号是持续更新的,也持续有新粉丝加入。所以这个技术群应该是会很火爆很久很多年。到时候比较活跃的一批就会成为超级厉害的大佬了~