我有一个查询数据库的Flask应用程序,并使用jinja模板使用检索到的数据呈现表格。我希望网页在第一次点击后定期继续刷新,这样如果数据库中的数据发生变化,网页就会显示新数据。
我尝试过其他人在网上建议的很多东西,但似乎没什么用。以下是我尝试过的示例:
1)将以下代码放在jinja模板文件中:
<head>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
<meta http-equiv="refresh" content="5">
</head>
2)将以下代码放在jinja模板文件中:
<head>
<script type="text/JavaScript">
function TimedRefresh( t ) {
setTimeout("location.reload(true);", t);
}
</script>
</head>
<body onload="JavaScript:TimedRefresh(2000);">
<p>Auto Refreshing Every 30 Seconds.</p>
</body>
3)将以下代码放在jinja模板文件中:
<head>
<script TYPE="text/javascript">
var datetime = null,
date = null;
var update = function () {
date = moment(new Date())
datetime.html(date.format('dddd, MMMM Do YYYY, h:mm:ss a'));
};
$(document).ready(function(){
datetime = $('#datetime')
update();
setInterval(update, 1000);
});
</script>
</head>
..和
<div id="datetime"></div>
等。
没有任何效果。该页面作为门把手死了 - 第一次加载,但除非我按下按钮,否则不会自动刷新。 我真的很困惑。非常感谢任何帮助。 任何一种清爽都很好 - 不需要分段。 请帮忙。
谢谢你, 尼拉。
答案 0 :(得分:1)
复制粘贴模板文件中 {% block page_content %}
行 <style>
行下面的代码:
<script type="text/javascript">
var timer = function() {
setTimeout(function(){ window.location.reload(); }, 1500);
};
timer();
</script>
这是您的文件的外观:http://pastebin.com/G5tFxeA2
注意:这种刷新表数据的方法是一种非常糟糕的技术。您很可能希望使用API查询表数据并重绘所有字段。