【实测】django测试平台必看:各种请求方式的利弊和适用场景

简介: 【实测】django测试平台必看:各种请求方式的利弊和适用场景

有很多同学初学django做平台会出现请求问题,比如:

增加一个元素,增加后,刷新页面发现又多了一个元素,不明所以。


所以今天我就用土方法经验来给大家讲讲各种返回方式吧,请仔细看,并保存成书签哦~



第一种


通过url输入或者a标签href的方式请求,并且返回页面。


【例子】:登录页面


【后代代码】:

image.png

使用方法:通过url请求,当使用者浏览器地址栏出现:

image.png

的时候,就进入了这个页面。


【特点】:返回的是一整个页面,浏览器会直接显示当前页面。

【常用】:页面跳转/打开 等。

【后遗症】:浏览器地址栏会变成这个url,如果刷新会重新进行请求此url,重新加载这个页面。

image.png


第二种


通过url输入或者a标签href的方式请求,但返回的是welcome.html并嵌套子页面的情况。


【例子】:首页


【后代代码】:

image.png


使用方法:通过url、a标签超链接等请求,当使用者浏览器地址栏出现:

image.png

的时候,就进入了这个嵌套页面,这个页面的外壳是菜单,里子是首页。


【特点】:返回的是一整个页面,浏览器会直接显示当前页面,逻辑很复杂,为接口测试平台独创,有利于集中处理页面数据分类。

【常用】:页面跳转/打开 等。

【后遗症】:浏览器地址栏会变成这个url,如果刷新会重新进行请求此url,重新加载这个页面。

image.png


第三种


通过url输入或者a标签href的方式请求,但返回重定向到了另一个url。


【例子】:退出登录


【解释】:完成了退出功能后,必须要返回到登录页,所以可以直接重定向到登录页面的Url。


【后代代码】:

image.png


使用方法:通过url、a标签超链接等请求,当使用者浏览器地址栏出现:

image.png

的时候,就完成了这一系列功能,并且进行重定向到另一个url:

image.png

【特点】:请求时的url和最后浏览器地址栏的url不同,可以极大避免重复刷新带来的bug,比如文章开头说的bug,就是因为没有使用这种方式,导致添加元素后,浏览器地址栏没有重定向到正常url而保留了/add/地址,那么刷新页面就会导致重新请求,所以此方式可以避免这种bug,可以把返回结果强行重定向到刚进入列表页的url。

image.png

【常用】:页面跳转/打开/保存/刷新等。



第四种


通过各种bom的http协议接口进行请求,请求成功后不触发页面刷新。


【例子】:删除项目


【前端代码】:

image.png


【后代代码】:

image.png


【特点】:浏览器地址栏不会有任何变化,页面也不会刷新,这样保证了你即便手动刷新页面也不会重复触发这个功能。从network面板可以看到发出了这次接口请求

image.png

【常用】:无关页面跳转的数据增删改查等。

【后遗症】:页面因未刷新,会导致一开始带进来的数据展示没有更新,比如这个删除了项目,但项目列表仍然无法看到此项目被删除,所以在js中的接口成功后动作中加上了手动触发刷新页面。这样即保证了页面刷新重新加载最新数据,又保证了浏览器地址栏无变化,简直骚到起飞~

image.png

【扩展】:如果想在js中强行更改地址栏,可以用


document.loaction.href='/目标地址/'

这样也可以起到重定向的效果....

相关文章
|
3月前
|
资源调度 测试技术 Linux
一款接口自动化神器—开源接口测试平台Lim(Less is More)
一款接口自动化神器—开源接口测试平台Lim(Less is More)
133 2
|
4月前
|
前端开发 测试技术
可访问性测试清单/测试用例/场景
可访问性测试清单/测试用例/场景
可访问性测试清单/测试用例/场景
|
8天前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
13 3
|
9天前
|
人工智能 监控 数据处理
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
30 0
|
17天前
|
测试技术 数据库 开发者
Django的测试工具与框架:提升开发效率与质量
【4月更文挑战第15天】本文探讨了Django的测试工具和框架,包括单元测试、集成测试和功能测试,以及其基于unittest的测试框架特点,如易于集成、丰富断言和数据库支持。通过编写全面测试、采用TDD、自动化测试等方式,开发者能提升开发效率和代码质量。利用Django的测试支持对确保应用稳定性、用户体验及软件可维护性至关重要。
|
17天前
|
测试技术 数据库 开发者
Django自动化测试入门:单元测试与集成测试
【4月更文挑战第15天】本文介绍了Django的自动化测试,包括单元测试和集成测试。单元测试专注于单个视图、模型等组件的正确性,而集成测试则测试组件间的交互。Django测试框架提供`TestCase`和`Client`进行单元和集成测试。通过编写测试,开发者能确保代码质量、稳定性和应用的正确协同工作。运行测试使用`python manage.py test`命令,建议将其纳入日常开发流程。
|
2月前
|
缓存 运维 Serverless
应用研发平台EMAS产品常见问题之测试检查更新没有反应如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
2月前
|
机器学习/深度学习 人工智能 监控
视觉智能平台常见问题之体验产品的美颜测试关掉如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
24 1
|
2月前
|
存储 测试技术 C++
P2P网络下分布式文件共享场景的测试
P2P网络下分布式文件共享场景的测试
35 6
|
2月前
|
开发框架 人工智能 前端开发
使用Python、Django和Bootstrap构建在线教育平台
使用Python、Django和Bootstrap构建在线教育平台
42 0