使用python脚本动态更新静态网页

时间:2016-05-20 07:43:41

标签: javascript jquery python raspberry-pi rfid

所以我使用带有rfid扫描程序的Raspberry Pi 2并在python中编写了一个脚本,将人们记录在我们的考勤系统内外,连接到我们的postgresql数据库并返回一些数据,比如他们有多少加班时间以及他们的行动是登录还是退出。

此数据旨在显示在一个非常基本的网页上(甚至不在服务器上或任何其他网页上),只是用作显示所述数据的图形界面。

我的问题是我无法弄清楚如何动态显示我的python脚本在网页上返回的数据而不必刷新它。我喜欢它只是简单地淡入信息,在那里保持几秒钟然后再次淡出(此时系统再次可用以让其他人登录或注销)。

目前我正在使用BeautifulSoup4编辑Html文件和Chrome,其扩展名为" LivePage"然后自动更新页面,这显然是一个可怕的解决方案。

我希望有人可以指出我正确的方向,以便我能以一种易于理解和相当优雅的方式来表达这一点。

TL; DR:我想在我的网页上显示我的python脚本的结果,而不必刷新它。

3 个答案:

答案 0 :(得分:0)

您可以制作一个html文件,并每隔x秒向主要文件发送XHR请求。

setTimeout(function(){     
$.get( "yourPrimaryFile.xyz", function( data ) {
      $( "body" )
        .append(data) // Mr.X
    }) }, 3000);

答案 1 :(得分:0)

我假设一个或多或少的明显解决方案,例如使用例如构建REST API Flask并在前端使用一些javascript框架(例如AngularReact)超出范围/太多了?

除此之外,我只能想到使用'普通'jquery或类似的框架,这或多或少是你现在所做的。

我建议尝试烧瓶/角度组合。一个简单的应用程序(几个用于登录和退出的API端点以及一些检查)和一个包含动态内容的基本网站都可以很快安装。

答案 2 :(得分:0)

要立即更新页面数据,您需要使用websockets。 没有必要使用重型框架。

  1. 首次使用js打开websocket并加载页面时加载页面。
  2. 每次阅读标签时,您都会将所有必要的数据发布到此打开的套接字,并立即显示在客户端。