我正在尝试创建一个“社交”网站,您可以在其中添加 friend 、创建帖子等。所以主要问题是,如何使用 Django Admin API 显示用户状态?
提前致谢!
在 html 中:
{{ user.is_authenticated }}
查看中:
def index(request):
user = User.objects.get(username="root")
return render(request, 'blog/index.jade', {'users': users})
所以这基本上返回 True 或 False,但这不仅是“root”用户的状态,而是任何人的状态。
最佳答案
每 5 秒发出一次 Ajax 请求,该请求将由 View 处理。并且在每个请求上更新与该用户相对应的表列last_active,这将更新时间戳(您必须创建一个时间戳类型的last_active列)。
每隔 5 秒发出另一个 Ajax 请求,通过比较每个用户对应的当前时间和 last_active 时间戳来获取所有在线用户。它将返回所有在线用户。
您也可以使用此逻辑来制作多用户/单用户聊天系统。
发出 Ajax 请求的代码:
(function getOnline() {
$.ajax({
url: '/get_online',
type: "GET",
data:
{
user:user
},
success: function(data) {
console.log("success");
},
complete: function() {
// Schedule the next request when the current one is complete
setTimeout(getOnline, 5000);
},
error: function(xhr, errmsg, err) {
console.log("error");
}
});
})();
关于python - 如何在 Django 1.9 中显示用户状态(在线、离线)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35066497/