带有 jinja 渲染的 Flask 应用程序;不自动刷新网页
Flask app with jinja rendering; Does not auto refresh webpage
我有一个查询数据库的 Flask 应用程序,并使用 jinja 模板使用检索到的数据呈现 table。我希望网页在第一次点击后继续定期刷新,以便如果数据库中的数据发生变化,网页会显示新数据。
我尝试了很多其他人在网上建议的方法,但似乎没有任何效果。这是我尝试过的示例:
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>
等..
没有任何效果。该页面像门把手一样死了——第一次加载,但除非我按下按钮,否则不会自动刷新。
我真的很困惑。将不胜感激任何帮助。
任何形式的刷新都可以——不需要分段。
请帮忙。
谢谢,
尼拉
复制粘贴代码 below {% block page_content %}
行和 above <style>
行到模板文件中:
<script type="text/javascript">
var timer = function() {
setTimeout(function(){ window.location.reload(); }, 1500);
};
timer();
</script>
您的文件应该是这样的:http://pastebin.com/G5tFxeA2
注意:这种刷新table数据的方式是一种极其糟糕的技术。您很可能想使用 API 查询 table 数据并重绘所有字段。
我有一个查询数据库的 Flask 应用程序,并使用 jinja 模板使用检索到的数据呈现 table。我希望网页在第一次点击后继续定期刷新,以便如果数据库中的数据发生变化,网页会显示新数据。
我尝试了很多其他人在网上建议的方法,但似乎没有任何效果。这是我尝试过的示例:
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>
等..
没有任何效果。该页面像门把手一样死了——第一次加载,但除非我按下按钮,否则不会自动刷新。 我真的很困惑。将不胜感激任何帮助。 任何形式的刷新都可以——不需要分段。 请帮忙。
谢谢, 尼拉
复制粘贴代码 below {% block page_content %}
行和 above <style>
行到模板文件中:
<script type="text/javascript">
var timer = function() {
setTimeout(function(){ window.location.reload(); }, 1500);
};
timer();
</script>
您的文件应该是这样的:http://pastebin.com/G5tFxeA2
注意:这种刷新table数据的方式是一种极其糟糕的技术。您很可能想使用 API 查询 table 数据并重绘所有字段。