Django随机值打印

Django随机值打印,django,django-views,Django,Django Views,我希望生成的随机数应该打印在网页上,即每5秒通过HttpResponse(x)打印一次,我使用了time.sleep功能 如何在不刷新页面的情况下打印随机生成的值 这是我的view.py文件 def main(request): return render(request,'graphs/index.html') def random_generator(request): return HttpResponse(randrange(0, 5)) url.py from dj

我希望生成的随机数应该打印在网页上,即每5秒通过
HttpResponse(x)
打印一次,我使用了
time.sleep
功能

如何在不刷新页面的情况下打印随机生成的值

这是我的view.py文件

def main(request):
    return render(request,'graphs/index.html')

def random_generator(request):
    return HttpResponse(randrange(0, 5))
url.py

from django.conf.urls.defaults import *

urlpatterns = patterns('',

    url(r'random/','apps.graph.views.main', name = 'graph_home'),
    url(r'random_gen/','apps.graph.views.random_generator', name = 'random'),
)
模板

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
            function refreshRandom() {
                $.ajax({
                    url: 'random/',
                    dataType: 'html',
                    success: function(data) {
                        $('#random').html(data);
                    },
                    complete: function() {
                        window.setTimeout(refreshRandom, 5000);
                    }
                });
            }

            window.setTimeout(refreshRandom, 5000);
        </script>    
    </head>

    <body>
        <div id='random'></div>
    </body>
</html>

函数refreshRandom(){
$.ajax({
url:“随机/”,
数据类型:“html”,
成功:功能(数据){
$('#random').html(数据);
},
完成:函数(){
设置超时(刷新随机,5000);
}
});
}
设置超时(刷新随机,5000);

为主页创建一个视图,另一个视图返回一个随机数。然后用javascript编写一个ajax调用来刷新所看到的内容。像这样:

views.py

def main(request):
    return render(request, 'index.html')

def random_generator(request):
    return HttpResponse(randrange(0, 5))
url.py

url('^main/$', 'myapp.views.main'),
url('^random/$', 'myapp.views.random_generator')
然后在模板中:

<script type="text/javascript">
function refreshRandom() {
    $.ajax({
        url: '/random/',
        dataType: 'html',
        success: function(data) {
            $('#random').html(data);
        },
        complete: function() {
            window.setTimeout(refreshRandom, 5000);
        }
    });
}

window.setTimeout(refreshRandom, 5000);
</script>
<div id='random'></div>

函数refreshRandom(){
$.ajax({
url:“/random/”,
数据类型:“html”,
成功:功能(数据){
$('#random').html(数据);
},
完成:函数(){
设置超时(刷新随机,5000);
}
});
}
设置超时(刷新随机,5000);

虽然我真的不明白通过django视图这样做会有什么好处。如果这就是您想要做的,您可能希望尝试使用javascript在客户端编写整个程序。

您可以使用纯JS来实现,无需麻烦Django:

var random_interval = setInterval(function() {
    var random_number = 1 + Math.floor(Math.random() * 6);
    $('#random-number').text(random_number);
}, 5000); // every 5 second

我应该将url设置为哪个视图<代码>索引视图或
随机生成器
视图?当前它是
url(r'home/,'apps.graph.views.WHICH view'),
url(r'random/,'apps.graph.views.random_生成器')
返回呈现('graphs/index.html')中,str对象没有属性“META
。这是什么?应该是
返回render(请求'graphs/index.html')
。嗯,根据我的问题,它需要从后端获取值。这只是一个示例问题。无论如何谢谢你!!!我正在编辑我的问题。请根据需要进行审查和纠正。谢谢