我正在创建一个从数据库访问测试数据的Intranet站点,并将结果显示回一般的HTML网页。
现在我将Python设置为cgi,并且我现在需要获得所需的结果。但现在要求实时显示一些信息。
我是通过这种方式进入Web编程世界的新手,但是运行Python脚本并在不重新加载的情况下在HTML页面上显示信息的最佳方式是什么。
我知道如何在Python服务器端获取信息并在HTML方面正确显示信息,但我缺少的是我如何将两者链接在一起或从HTML端调用Python方法。 / p>
任何建议或简单的例子都会很棒。
由于
答案 0 :(得分:2)
简单的谷歌搜索将帮助您找到如何创建python网站。
答案 1 :(得分:2)
如果通过“重新加载”表示用户不必在浏览器中点击“重新加载”/“刷新”,那么您需要设置一个以某种格式返回数据的终点URL(JSON) / XML或甚至可以普通插入DOM的HTML),并使用AJAX定期轮询该URL并进行更新。要么是这样,要么研究Web套接字。
答案 2 :(得分:1)
如果您想重新加载整个页面,那么只需在HEAD部分的HTML中添加meta refresh
标记:
<meta http-equiv="refresh" content="20" />
,页面将每20秒重新加载一次。
如果您想定期填充页面元素,并且您不太关心它的外观(或者可以花时间调整子页面的外观),您可以使用IFRAME通过显示子页面第二个CGI,其HTML中有元刷新:
<iframe class="realtime-data" src="/cgi-bin/realtime.py"></iframe>
其他更灵活的情况还需要您提供第二个CGI,该CGI将在调用时发布实时数据,并使用例如主页从主页轮询CGI。 jQuery的load()
方法:
setInterval(function() {
$('#div_where_html_goes').load('/cgi-bin/realtime.py')
}, 20000); // 20k milliseconds
以上只是一个提示,而不是一个好的编程实践:
......但它应该足以让你开始。基本上,你安装jQuery(如果从谷歌加载一行HTML代码),你在页面的末尾提供初始化代码。你在那里放了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>
答案 3 :(得分:0)
您可以使用bottle。本教程将指导您创建一个简单的站点。
要进行更新,您需要使用javascript(在页面中)与服务器进行交互。