【实测】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='/目标地址/'

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

相关文章
|
15天前
|
Kubernetes 测试技术 Perl
混沌测试平台 Chaos Mesh
混沌测试平台 Chaos Mesh
36 1
|
20天前
|
测试技术 API 数据库
Django测试入门:打造坚实代码基础的钥匙
Django测试入门:打造坚实代码基础的钥匙
31 3
|
5天前
|
前端开发 关系型数据库 测试技术
django集成pytest进行自动化单元测试实战
在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率,相比于Django自带的测试框架,Pytest提供了更为丰富和强大的测试功能。本文通过一个实际项目ishareblog介绍django集成pytest进行自动化单元测试实战。
13 3
django集成pytest进行自动化单元测试实战
|
7天前
|
运维 Kubernetes 监控
|
9天前
|
存储 测试技术 持续交付
Django中的单元测试
【8月更文挑战第11天】本文详述了如何运用Django框架内置的单元测试与集成测试工具来确保Web应用的代码质量。通过具体示例展示了单元测试的基础,如测试简单函数的正确性;以及集成测试的应用,验证应用组件间的协作无误。文中还强调了最佳实践,比如保持高测试覆盖率、确保测试独立且高效执行等。此外,还介绍了测试驱动开发(TDD)的方法,并讨论了模拟(mocking)技术在测试中的重要性。最后,提到了自动化测试与持续集成的实施方式,以及探索更多高级测试工具和技术的可能性,如行为驱动开发(BDD)、性能测试和静态代码分析等,全方位提升应用的稳定性和用户体验。
18 6
|
1月前
|
存储 NoSQL 中间件
【Django+Vue3 线上教育平台项目实战】登录功能模块之短信登录与钉钉三方登录
在当今的数字化时代,用户认证是任何在线服务安全性的基石。本文将简明扼要地介绍登录注册流程中的核心概念:HTTP无状态性、Session、Token与JWT,并详细阐述两种实用登录方式—— 手机号登录验证(借助容联云/云通讯服务) 与钉钉第三方登录。我们将探讨这些概念的基本原理,并深入解析两种登录方式的实现流程,旨在帮助开发者提升用户认证的安全性与便捷性。
【Django+Vue3 线上教育平台项目实战】登录功能模块之短信登录与钉钉三方登录
|
13天前
|
机器学习/深度学习 前端开发 数据挖掘
基于Python Django的房价数据分析平台,包括大屏和后台数据管理,有线性、向量机、梯度提升树、bp神经网络等模型
本文介绍了一个基于Python Django框架开发的房价数据分析平台,该平台集成了多种机器学习模型,包括线性回归、SVM、GBDT和BP神经网络,用于房价预测和市场分析,同时提供了前端大屏展示和后台数据管理功能。
|
1月前
|
前端开发 JavaScript API
【Django+Vue3 线上教育平台项目实战】构建课程详情页与集成视频播放功能
随着数字化教育的兴起,构建一个高效、用户友好的线上教育平台至关重要。本文将探讨如何使用Django与Vue.js 3结合,实现一个包含课程列表和课程详情页(含视频播放功能)的线上教育平台部分。本文主要介绍了如何设计数据库模型、处理数据查询、构建动态前端界面,并集成视频播放功能,为用户带来流畅的学习体验。
【Django+Vue3 线上教育平台项目实战】构建课程详情页与集成视频播放功能
|
1月前
|
测试技术
性能测试场景设计
**性能测试场景设计**涉及模拟用户行为和负载以评估系统在真实环境下的性能、稳定性和可靠性。常用的测试方法包括:**负载测试**,模拟实际使用以检查不同负载下的性能;**压力测试**,超负荷运行以检测系统极限;**稳定性测试**,验证系统长时间高负载的稳定性;**并发测试**,检查多用户访问时的性能和问题;以及**容量测试**,确定系统处理能力和资源利用率。测试场景多样,旨在确保系统应对未来增长需求的能力。
32 4
|
1月前
|
JavaScript 前端开发 API
【Django+Vue3 线上教育平台项目实战】构建高效线上教育平台之首页模块
在当今数字化教育浪潮中,构建一个高效且用户友好的线上教育平台至关重要。本博客将指导您使用**Django**作为后端框架,结合**Vue 3**的强大前端能力,快速搭建**平台首页的核心功能**,包括***导航栏、轮播图、侧边栏、标签栏及分类课程推荐***。我们将探讨前后端数据交互、Vue组件化开发等关键技术,轻松构建出既美观又实用的线上教育平台。
【Django+Vue3 线上教育平台项目实战】构建高效线上教育平台之首页模块