-3

我正在创建一个从数据库访问测试数据并将结果显示回通用 HTML 网页的 Intranet 站点。

现在,我将 Python 设置为 cgi,并获得了我现在需要的预期结果。但是现在有一个要求实时显示一些信息。

我是通过这种方式进入网络编程世界的新手,但是在不重新加载的情况下运行 Python 脚本并在 HTML 页面上显示信息的最佳方式是什么。

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

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

谢谢

4

4 回答 4

2

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

这是一个例子

于 2012-11-29T17:38:38.457 回答
2

如果“重新加载”是指用户不必在浏览器中点击“重新加载”/“刷新”,那么您需要设置一个端点 URL,以某种格式(JSON/XML 或甚至可以直接插入 DOM 的 HTML),并使用 AJAX 定期轮询该 URL 并进行更新。要么,要么查看Web Sockets。

于 2012-11-29T17:47:21.157 回答
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>

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

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

以上只是一个提示,并不是一个好的编程习惯:

  • 没有规定加载错误
  • 没有延迟和脚本堆积的规定
  • 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>
于 2012-11-29T18:18:51.623 回答
0

你可以用瓶子。本教程将引导您创建一个简单的站点。

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

于 2012-11-29T17:43:11.753 回答