Django随机值打印
我希望生成的随机数应该打印在网页上,即每5秒通过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
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')
。嗯,根据我的问题,它需要从后端获取值。这只是一个示例问题。无论如何谢谢你!!!我正在编辑我的问题。请根据需要进行审查和纠正。谢谢