接口测试平台-25:项目详情页的导航功能

1. 导航:使接口库、项目设置、用例库可以互相跳转

关于导航我们有很多设计:

  • 单纯的三个按钮组合

  • 面包屑导航

  • 简易菜单

  • 导航栏

 

每种的实现无非就是超链接。这里选择第四种,考虑到后续会加入其他子模块。所以要做顶部的整个导航栏

颜色 这种灰白就可以,不要太明显抢了中间主要的内容。

截图中的第四种出自bootstrap的标准导航组。在这之前,需要修改一个之前章节中出现的导入顺序错误的问题。

 

2. 修复bug(其实前面已经修复了)

welcome.html,除了菜单外,所有引入的js/css都会在其他子页面中生效。但之前引入时,有个顺序出现错误。

  • bootstrap.min.js必须在jquery-1.11.0.min.js之后引入才不会报错

 

3. 增加导航

打开P_apis.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<nav class="navbar navbar-default" role="navigation" style="position: absolute;top: 0px;left: 80px;width:-webkit-calc(100% - 200px);z-index: 1">
    <div class="container-fluid">
    <div class="navbar-header">
        <span style="font-size: xx-small" class="navbar-brand" >项目名称:{{ project.name }}</span>
        <a class="navbar-brand" href="/project_list/">返回项目列表</a>
    </div>
    <div>
        <ul class="nav navbar-nav">
            <li class="active"><a href="/apis/?????/">接口库</a></li>
            <li><a href="/cases/?????/">用例库</a></li>
            <li><a href="/project_set/?????/">项目设置</a></li>
        </ul>
    </div>
    </div>
</nav>

</body>
</html>

views.py

if eid == 'P_apis.html':
    project = DB_project.objects.filter(id=oid)[0]
    res = {"project": project}

之前的P_apis.html中project_name改为project.name

效果如下:

果然没问题,那么继续把project.id填入到各个超链接中吧~

<div>
    <ul class="nav navbar-nav">
        <li class="active"><a href="/apis/{{ project.id}}/">接口库</a></li>
        <li><a href="/cases/{{ project.id}}/">用例库</a></li>
        <li><a href="/project_set/{{ project.id}}/">项目设置</a></li>
    </ul>
</div>

 

4. 子页面导航常驻

  • 把这段代码 nav标签,复制到其他俩个子页面中即可
  • 把这段代码做成新页面,接口列表进入的是这个新页面,新页面在做3个子页面,用来单独展示 接口库/用例库/项目设置
  • 把这段代码放在公共页面welcome.html中,并且控制好显示/隐藏 

第二种最复杂。第一种最简单。这里用第一种:把nav标签,复制到其他子页面中:P_cases.html/P_project_set.html

然后别忘了 还要设置好数据返回,之前只给写了接口库返回项目数据的if判断。

修改views.py中的child_json()函数(此处拆开是为了拓展):

 

 

# 控制不同的页面返回不同的数据:数据分发器
def child_json(eid, oid=''):
    res = {}
    if eid == 'home.html':
        data = DB_home_href.objects.all()
        res = {"hrefs": data}

    if eid == 'project_list.html':
        data = DB_project.objects.all()
        res = {"projects": data}

    if eid == 'P_apis.html':
        project = DB_project.objects.filter(id=oid)[0]
        res = {"project": project}

    if eid == 'P_cases.html':
        project = DB_project.objects.filter(id=oid)[0]
        res = {"project": project}

    if eid == 'P_project_set.html':
        project = DB_project.objects.filter(id=oid)[0]
        res = {"project": project}
    return res

 

刷新页面再次测试:

 

已经进入了用例库,但是导航上依然显示的是选中的接口库,就是个样式问题而已

 

再次刷新页面看看效果~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值