在我的Django网站中,我有一个范围,显示用户在下图中喜欢的新消息数量:
现在我可以在每个django视图中刷新这个值,这是我base.html的一部分
def someView(request,pk):
...
mcount = UserMessage.objects.filter(receiver = request.user.pk, isRed = 0).count()
...
return render(request, 'app/somehtml.html', {...'mcount':mcount...})
...
<span class="messageCount"aria-hidden="true"> {{ mcount }} </span>
...
我想要做的是每隔几秒刷新一次,而无需用户重新加载页面。 我怎么能实现这个目标?
答案 0 :(得分:0)
您必须使用Javascript在客户端进行自动刷新。
window.setTimeout(function () {
location.href = "http://yourwebsite.com";
}, 30000);
每30秒刷新一次页面。
还有meta html标签:
<head>
<meta http-equiv="refresh" content="30">
</head>
这也会每30秒刷新一次页面。
答案 1 :(得分:0)
这样的事情:
function autoReloadSpan(){
$.ajax({ url: "/poll/",
data: {},
type: 'GET',
success: function(data) {
$('.messageCount').html(data);
},
});
}
autoReloadSpan(); // This will run on page load
setInterval(function(){
autoReloadSpan() // this will run after every 5 seconds
}, 5000);