Loading...
墨滴

我去吹吹风

2021/07/14  阅读:41  主题:红绯

11

不知不觉已经进行到第14节了,真是不容易啊。没想到竟然能够写到这么多。其中也出现了许多bug,不过不用担心,有的已经在修复的路上。

再坚持下,争取写到30节,到时候我们就可以考虑收尾了。然后留给自己一点时间集中的充电,接着就是该项目的升级版正式亮相。

今天我们来实现模块删除的功能。

1

首先搞定后端,这个比较容易。

url映射

view部分

首先我们需要删除用例,之后再删除跟用例关联到一块的模块。

代码如下:

# 模块删除
@csrf_exempt
def module_del(request):
    del_module_name = request.POST['del_module_name']
    print(del_module_name)
    module = DB_module.objects.get(t_module_name=del_module_name)
    logger.info('====删除模块的名称为:%s===' % module)
    if module != '':
        try:
            case = DB_testcase.objects.filter(t_module=module.id)
            if case:
                case.delete()
                logger.info('====删除模块的id为:%s,删除用例成功===' % module.id)
            # 最后删除掉模块名称
            DB_module.objects.get(t_module_name=module).delete()
            logger.info('====删除模块的名称为:%s,删除模块成功' % module)
        except Exception as e:
            logger.info('====删除%s模块的用例失败===' % module.id)

    return HttpResponse('/testcase1/')

2

前端部分也不是很难,基本就是把上一节课的那部分拿来改一下就行了。

源码是这个:

<div id="del_Module_div" style="width: 30%;background-color: white;border: 1px solid black;
        position: absolute;left: 50%;top: 55px;padding-left: 10px;box-shadow: 4px 4px 8px grey;border-radius: 5px;
         z-index: 999999; display: none"
>
    <h3 style="text-align: center">删除</h3>
    <div class="input-group">
        <div class="input-group-addon" style="margin:0 auto">删除模块名称</div>
        <input type="text" class="form-control" id="del_module_name" placeholder="请输入模块名称">
    </div>
    <br><br>
    <!--因为取消按钮要执行的js语句只有一句,我们可以偷懒直接写在onclick属性中,而不需要先写个js函数,然后onclick再调用这个函数-->
    <!--然后我们要给这个弹层的确定按钮,加上onclick属性,来调用这个btnDeleteModule()函数-->
    <div style=" position: relative;left: 70%;top:30px;">
        <button onclick="javascript:document.getElementById('del_Module_div').style.display='none'"
                class="btn btn-danger">取消
        </button>
        <button onclick="btnDeleteModule()" class="btn btn-success">确定</button>
    </div>
    <br> <br>
</div>

3

剩下就是JS部分了。

{# 模块删除#}
<script>
    function btnDeleteModule() {
        del_module_name = $('#del_module_name').val();
        $.post('/module_del/', {
            'del_module_name': del_module_name,
        }, function (ret) {
            document.location.reload();
        })
    }
</script>

我们测试一下,删除已经存在的支付模块和用例。

删除成功,已经找不到支付模块和它的用例了。此处还是有点bug,删除完成之后没有返回首页面。

暂时不要删除id=1的登录这一项。如果手动删除了,到数据库里去改一下。

ok,今天就到这里了。

写完这篇已经是深夜了,众所周知的原因,B站挂了。

我去吹吹风

2021/07/14  阅读:41  主题:红绯

作者介绍

我去吹吹风