Django未读邮件系统

2024-06-16 18:03:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在实现一个基于Django的点对点测试系统,在这个系统中,用户可以挑战另一个用户进行测试(很像quizup)。我已经实现了它的几乎所有主要组件,最后剩下的一个是在网站用户通知-其中用户能够看到新的未响应的挑战的数量。在

Django通知似乎使用基于电子邮件的通知,但我想在网站内部通知用户-就像StackOverflow用于未读通知/消息一样,用户将能够在“挑战”选项卡下看到活动挑战的数量。但它不需要像StackOverflow那样是实时的。在

曾在谷歌上广泛搜索,但未能找到解决方案。在

任何帮助都将不胜感激。在


Tags: django用户消息数量网站电子邮件系统组件
2条回答

如果需要延迟更新,可以使用JavaScript ^{}调用来重复对视图的Ajax调用来检查通知。在

例如,在您的基本模板中,有这样的内容(使用jQuery)

function checkNotifications() {
    $.get("url", function(data) {
            // do something with the data
        }
    });
}
setInterval(checkNotifications, 30000);

每隔30秒检查一次通知。在

WebSockets可用于实时更新机制。我没有在Django中使用websockets,但是this project看起来很活跃,在我的Google搜索中排名第一。在

不确定您是否需要这种更标准/简单的流,但这里是:

鉴于此

假设您已经有了一个@login効来确定用户已经登录

1)返回用户正在或已经参与的测验的查询集 2) 根据您的选择、已完成等筛选未响应的挑战

unresponded = all_games.filter(status='unresponded')

3)通过渲染将要显示的不同游戏的所有不同上下文(包括未响应的)发送到所需页面

^{pr2}$

4)在您的游戏.html第页。在

相关问题 更多 >