python - 每 x 分钟发送一次 api 请求并使用状态更新上下文
问题描述
我正在尝试创建一个网站,用户可以在其中单击按钮启动任务,该任务将每 x 秒/分钟发送一个 api 请求。Api 请求获取报价列表作为响应,任务将检查 api 请求是否与以前相同。
如果是,那么我想在我的页面上显示状态:“未找到报价,仍在搜索”,如果 api 响应不同,则状态更改为:“我找到了报价”
我想在后台进行该过程,而无需用户刷新页面。我希望在找到新报价时自动更新上下文 [“状态”]。
我试图通过线程来实现这一点,但页面继续加载,因为任务正在运行。
每个想法都值得赞赏。谢谢!
解决方案
在 django 中创建一个自定义结果视图,在您的页面上设置一个计时器,然后使用jQuery.load()
var l_timer = setInterval(function(){
$( "#result" ).load( "/my_periodic_view", function() {
alert( "Load was performed." );
});
},1000) //1000ms loop
你将需要jquery。更好的方法是使用 ajax 调用和 rest api(或取决于特定情况的套接字),但两者都需要在服务器上进行额外设置,如果您的应用程序不需要更多实时更新,则采用加载方法既便宜又容易直截了当。
推荐阅读
- javascript - 定位反应元素
- angular - Angular 6 更新后 @markpieszak/ng-application-insights 的问题
- javascript - 在本地 HTA 文件中单击超链接时如何获取超链接的相对路径
- sql - SQL Server 中唯一行的窗口函数
- java - 成功构建后我的应用程序崩溃
- sql - 在打印的 div 中包含来自 sql 数据库的换行符
- r - 混合 GLMM 模型 - 使用权重的问题(使用 R 包'lme4'
- sql - 从 AD 传递的 Powershell 和 SQL 字符串
- group-by - 在 cassandra 中分组
- javascript - 如何在 React 中使用 jQuery 插件