2012-11-29 116 views
-3

我正在创建一个Intranet站点,该站点访问数据库中的测试数据并将结果显示回通用HTML网页。在网页上显示数据的最佳方式

现在我已经将Python设置为cgi,并且正在获得我现在需要的所需结果。但是现在有一个实时显示一些信息的请求。

我是一个以这种方式进入网络编程领域的新手,但运行Python脚本并在不重新加载的情况下在HTML页面上显示信息的最佳方式是什么?

我知道如何获取Python服务器端的信息,并在HTML端正确显示信息,但我缺少的是如何将两者链接在一起或从HTML端调用Python方法。

任何建议或简单的例子会很好。

感谢

回答

1

如果你想重新加载整个页面,然后只需一个meta refresh标签添加到HEAD部分的HTML:

<meta http-equiv="refresh" content="20" /> 

和页面会每20秒重新加载。

如果您想要定期填充页面元素,并且您不太关心其外观(或者可以花时间调整子页面的外观),则可以使用显示子页面的IFRAME通过第二CGI,在其HTML元刷新:

<iframe class="realtime-data" src="/cgi-bin/realtime.py"></iframe> 

其他更灵活的情况下,还需要您提供将发布实时数据调用时,第二个CGI,并从主页轮询该CGI使用例如jQuery的load()方法:

setInterval(function() { 
    $('#div_where_html_goes').load('/cgi-bin/realtime.py') 
}, 20000); // 20k milliseconds 

上述只是一个提示,而不是一个良好的编程习惯:

  • 没有规定装载错误
  • 没有规定延迟和脚本绒头up
  • CGI不仅要提供数据,而且还要提供一些布局

...但它应该足以让你开始。基本上,您安装jQuery(如果从Google加载,则为一行HTML代码),并在页面末尾提供init代码。在那里你把Javascript代码:

<script type="text/javascript"> 
// <![CDATA[ <!-- 
    (function($){ 
     $(function(){ 

      setInterval(function() { 
       $('#div_where_html_goes').load('/cgi-bin/realtime.py') 
      }, 20000); // 20k milliseconds 

     }) 
    })(jQuery); 
// --> ]]> 
</script> 
</body> 
+0

非常感谢您的帮助!我使用jQuery.ajax方法,这就是我正在寻找的。 – Chad

2

一个简单的谷歌搜索将帮助您找到如何创建蟒蛇网站。

Here is an example

+0

我已经说过,我有一个简单的全功能网站用Python编写,而不需要这些附加组件。我正在寻找Django和其他应用程序附加组件以外的东西,因为我不需要所有额外的批量。 – Chad

0

您可以使用bottle。本教程将引导您完成简单网站的创建。

要更新,您需要javascript(在页面中)与服务器交互。

2

如果通过“重新加载”您的意思是用户不必在浏览器中点击“重新加载”/“刷新”,那么您需要设置一个终点URL,以某种格式返回数据JSON/XML甚至可以简单地插入到DOM中的HTML),并使用AJAX定期轮询该URL并进行更新。或者,或者查看Web套接字。

+0

AJAX是我正在寻找的,但我如何将两者联系在一起。这意味着如何调用Python方法并从HTML中获取结果?简单的例子。 – Chad

相关问题