2013-07-25 63 views
2

我有一个显示一些数据的网页。我有一个不断更新数据的python脚本(从数据库中提取数据,并将其写入html页面)。脚本需要大约5分钟才能获取数据。我已经设置了使用元标记每60秒刷新一次的html页面。不过,我想改变这一点,只要python脚本更新它就刷新页面,所以基本上我需要添加一些代码到我的python脚本中,只要它写完就刷新html页面。使用python刷新网页

这可能吗?

+0

你用什么来显示HTML页面? –

+0

我不确定我是否得到了你。如果这就是你的意思,我已经运行在apache上了。 – Shan

+0

你使用的是什么框架,我们需要上下文,查看python文件的顶部,并告诉我们导入的语句至少是什么 – Stephan

回答

1

没有潜入像WebSockets这样复杂的现代事物,服务器无法将通知“推送”到Web浏览器。但是,您可以执行的操作使客户端以用户不可见的方式检查更新。

这将涉及编写一个额外的文件的Javascript &。在编写主网页时,在Javascript内部添加一个时间戳(Unix时间戳在这里最容易)。您还将相同的时间戳写入Web服务器上的文件(我们称之为updatetime.txt)。在页面上使用AJAX请求时,请引入updatetime.txt &查看文件中的数字是否大于生成文档时存储的数字,如果看到更新的时间,请刷新页面。您可以改变如何“立即”发现变化,但控制您轮询的速度。

我不会在编写代码时涉及太多细节,但我可能只是使用JQuery中的$.ajax()(即使它对于一个函数来说有点矫枉过正)来进行调用。把东西放在JS上的诀窍是setinterval。你应该能够找到大量关于使用它们已经写好的文档。