我正在尝试刷新index.html文件中包含的子模板块。
a1,a2,a3 ..值在mysql数据库中不断更新。 (每3-5秒)
使用javascript重新加载<div>
对此任务无效,因为替换后的值与<html>
来源
<div id="replace_me">
<ul>
<li>total: 109000</li>
<li>a1: 58055</li>
<li>a2: 34820</li>
<li>a3: 16116</li>
<li>a4: 9</li>
</ul>
</div>
以下是我到目前为止所做的总结
的index.html
<html>
<head>
<title>Output(Real-Time)</title>
<script type="text/javascript">
$(function() {
setInterval(updateStats, 2000)
});
function updateStats{
$('#replace_me').load('/');
}
</script>
</head>
<body>
<h1>Parsing..</h1>
{% block mytext %}
Dynamic part (will be replaced constantly)
{% endblock%}
</body>
</html>
ref_ajax.html
{% if pStats %}
<div id="replace_me">
<div>
<ul>
{% for p in pStats %}
<li>Total: {{ p.total }}</li>
<li>a1 : {{ p.a1 }}</li>
<li>a2 : {{ p.a2 }}</li>
<li>a3 : {{ p.a3 }}</li>
<li>a4 : {{ p.a4 }}</li>
{% endfor %}
</ul>
</div>
</div>
{% else %}
<p>Data not available.</p>
{% endif %}
ref.html
{% extends "pcount/index.html" %}
{% block mytext %}
{% include "pcount/ref_ajax.html" %}
{% endblock %}
views.py
from django.shortcuts import render , render_to_response
from django.template import RequestContext
from pcount.models import Cpt
def index(request):
pStats = Cpt.objects.all()
context = {'pStats' : pStats}
if request.is_ajax():
tmp = "pcount/ref_ajax.html"
else:
tmp = "pcount/ref.html"
return render_to_response(tmp, {'pStats' : pStats}, context_instance=RequestContext(request))
有关使用自动刷新从mysql数据库获取最新值的任何建议吗?
谢谢
edit0:
浏览器中的:
output1
output2
除非我手动点击刷新,否则无法观察到Output2。 只需每2-3秒刷新一次计数器即可获得实时监控效果。标题不应该刷新。
EDIT1:
澄清问题:
问题是如何在不重新加载静态区域的情况下对动态区域进行更改,以便页面不会完全刷新。