更新django模板中对象的值

时间:2013-12-13 10:00:15

标签: mysql django django-templates django-views

我正在尝试刷新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

output1

output2

output2

除非我手动点击刷新,否则无法观察到Output2。 只需每2-3秒刷新一次计数器即可获得实时监控效果。标题不应该刷新。

EDIT1:

澄清问题:

content_overview

问题是如何在不重新加载静态区域的情况下对动态区域进行更改,以便页面不会完全刷新。

0 个答案:

没有答案