开发者社区> 游客pxprrm2iipsfu> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

接口测试平台代码实现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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
接口测试平台代码实现143: 平台主题-夏日清凉2
接口测试平台代码实现143: 平台主题-夏日清凉2
5 0
接口测试平台代码实现126: 全局变量-5
接口测试平台代码实现126: 全局变量-5
11 0
接口测试平台代码实现125: 全局变量-4
接口测试平台代码实现125: 全局变量-4
18 0
接口测试平台代码实现134: 全局变量-13
假期结束,回来继续学习这个全局变量吧。 山风不断,春雨绵绵,终有尽。 接口平台,全局变量,总不绝。 不过一切都要结束了,这个全局变量章节的最后时刻也要来临了。 在上节课中,我们成功的搞定了 在调试层请求体插入 变量。其实这已经证明一切都是可行的了。我们剩下的就是照葫芦画瓢,把什么登陆态,多用例,异常等 都插入全局变量即可完成本章节。
10 0
接口测试平台代码实现132: 全局变量-11
我们今天要继续处理这个漫长的全局变量功能。 打开我的接口测试平台,然后开始回忆已经开发到哪了....
13 0
接口测试平台代码实现130: 全局变量-9
本文开始,全局变量 要正式进入 复杂的后台实现了,当然如果能跟到这里,那么也应该没什么难度。 这里还是要重申一下,代码出现问题请先仔细比对教程源码,实在找不出来就先在群里问,没加群的请先加 vx: qingwanjianhua 博主每天的时间并不充裕,私聊的人也很多,如果群里解决不了后可以直接@我去热饭 即可。
10 0
接口测试平台代码实现102:GraphQL-2
接口测试平台代码实现102:GraphQL-2
14 0
接口测试平台代码实现87: 全局请求头-2
书接上回,我们已经在数据库中手动创建了俩个公共请求头。所以本节的主要任务是要让这俩个请求头显示在前端上。
14 0
接口测试平台代码实现25:项目列表页的新增功能
接口测试平台代码实现25:项目列表页的新增功能
26 0
接口测试平台代码实现24:项目列表的删除功能实现
接口测试平台代码实现24:项目列表的删除功能实现
20 0
+关注
游客pxprrm2iipsfu
我去热饭
435
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载