接口测试平台代码实现123: 项目内全局变量-2

简介: 在我们上一节中,计划了可在项目内全局使用的变量系统的相关设计。那么本节开始前端开发,首先要考虑,这个维护在哪呢?首先,我计划这个全局变量 的所属 不是项目,而是用户本身。

微信图片_20220704221213.png也就是说,它只是可以应用在项目中,但是隶属于用户,该用户的所有旗下项目都可以使用。它的本身属性字段中也只有用户id,并没有项目id,。


因为在项目中才需要对其设置,选用等,所以我们前端的维护,依然放在项目内。

我们需要新建第四个子页面:全局变量

微信图片_20220704221042.png

所以首先在我们的P_apis.html,P_cases.html,P_project_set.html 三个页面的顶部菜单,分别都加入 全局变量 超链接。

微信图片_20220704221048.png

我给它起名为/global_data/项目id然后我们去新建一个html,作为这个页面:

微信图片_20220704221054.png

新建后,我们复制一个nav顶部菜单进来。并注意设置好选中class="active"给自己。微信图片_20220704221100.png

接下来,我们去urls.py中设置好

微信图片_20220704221106.png

然后去views.py中写好进入的函数:

微信图片_20220704221112.png

重启服务后,我们现在点击进入全局变量,应该就不报错了:

微信图片_20220704221117.png

然后就是在child_json中,设置好数据了:

微信图片_20220704221124.png

不过我们目前还没有去建造变量的表,所以我们接下来去models.py中进行建造表:


class DB_global_data(models.Model):

   name = models.CharField(max_length=20,null=True) #名字

   user_id = models.CharField(max_length=10,null=True) #所属用户id

   data = models.TextField(null=True) #存储的所有数据

   def __str__(self):

       return self.name


然后我们执行俩句同步命令:


微信图片_20220704221133.png

再去admin.py中注册:

微信图片_20220704221141.png

现在我们在后台也可以看到了:

微信图片_20220704221147.png

这里我们要先手动设置一条demo数据,用来方便我们的前端开发任务:

微信图片_20220704221154.png

我的用户id是3,因为是手动创建,所以要先看下自己id哦,在后台的用户表可以点击进入自己的用户查看id。


然后我们去views.py中的child_json()中设置好数据:

这里我们要返回俩个数据:

  1. 项目本身:我们要增删改查当前项目保存的变量套选用设置
  2. 项目所属用户的旗下全部变量套:注意,这里我返回的并不是登陆用户的变量套,而是项目的变量套。正常来说,用户进入的若是自己的项目,那么这里返回的一致。但是如果用户访问的是其他人的项目,那么此时若返回的是用户的变量套,那么项目和变量套 就不是同一个人的,也没办法匹配。 没有实际意义。而且后期我们开发出权限系统后,会有严格的限制,是可以查看,还是可以编辑。


这里我们要趁早 解决一个之前遗留的坑 才好继续:

微信图片_20220704221207.png

我们之前项目的属性中,并没有用户id,现在要加上。因为公司的内部用户系统的用户名一般是固定且唯一,所以我们早期使用了用户名作为标记所属。但是为了方便后续,且更加严谨,这里要新增用户id, 那么我们之前的旧项目,趁着大家还没有正式广泛使用,最好手动在后台给加上用户id。

然后执行俩句同步命令:微信图片_20220704221213.png

在后台 找到我们的项目,手动给加上用户id,用户id从这里查:

微信图片_20220704221225.png

微信图片_20220704221233.png

顶部的url中的 3就是这个用户的id了:

微信图片_20220704221315.png

然后我们再给我们之前的旧项目都手动写上对应的用户id并保存。

微信图片_20220704221322.png

然后去修改我们views.py中 新建项目的函数:add_project,给它增加用户id的存储,这样我们新老项目都修改好了。这种情况大家也算是涨了一次经验了。

微信图片_20220704221328.png

修改好之前的坑之后,我们再回到child_json函数中,继续写刚刚的全局变量代码:

微信图片_20220704221336.png

如图,可以正常拿到数据了。

复制版本如下:

    if eid == 'P_global_data.html':
        from django.contrib.auth.models import User
        project = DB_project.objects.filter(id=oid)[0]
        global_data = DB_global_data.objects.filter(user_id=project.user_id)
        res = {"project":project,"global_data":global_data


相关文章
|
1月前
|
Java 关系型数据库 数据库连接
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
28 1
|
2月前
|
资源调度 测试技术 Linux
一款接口自动化神器—开源接口测试平台Lim(Less is More)
一款接口自动化神器—开源接口测试平台Lim(Less is More)
130 2
|
2月前
|
测试技术
包含用例执行时间的测试报告代码
包含用例执行时间的测试报告代码
|
3月前
|
存储 Rust 测试技术
【一起学Rust · 项目实战】命令行IO项目minigrep——测试驱动开发完善功能
【一起学Rust · 项目实战】命令行IO项目minigrep——测试驱动开发完善功能
95 0
|
3天前
|
人工智能 监控 数据处理
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
18 0
|
17天前
|
算法 安全 Java
java代码 实现AES_CMAC 算法测试
该代码实现了一个AES-CMAC算法的简单测试,使用Bouncy Castle作为安全提供者。静态变量K定义了固定密钥。`Aes_Cmac`函数接受密钥和消息,返回AES-CMAC生成的MAC值。在`main`方法中,程序对给定的消息进行AES-CMAC加密,然后模拟接收ECU的加密结果并进行比较。如果两者匹配,输出"验证成功",否则输出"验证失败"。辅助方法包括将字节转为16进制字符串和将16进制字符串转为字节。
|
1月前
|
缓存 运维 Serverless
应用研发平台EMAS产品常见问题之测试检查更新没有反应如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
1月前
|
Java PHP 数据库
在护卫神上部署javaWeb项目,已经测试通过
在护卫神上部署javaWeb项目,已经测试通过
11 0
|
1月前
|
测试技术 数据库 Python
python测试代码(二)
python测试代码(二)
19 0
|
1月前
|
机器学习/深度学习 人工智能 监控
视觉智能平台常见问题之体验产品的美颜测试关掉如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
24 1

热门文章

最新文章