Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在django框架中使用NowJS向用户提供通知_Django_Node.js_Notifications_Long Polling_Nowjs Sockets - Fatal编程技术网

如何在django框架中使用NowJS向用户提供通知

如何在django框架中使用NowJS向用户提供通知,django,node.js,notifications,long-polling,nowjs-sockets,Django,Node.js,Notifications,Long Polling,Nowjs Sockets,我已经在django框架中建立了一个网站。它有很多功能,比如博客,讨论论坛,基本上有很多用户可以交互的方式。我建立了一个基本的通知框架,当有人在他们的博客上发表评论或在论坛上回答他们的问题时,会通知用户 由于通知存储在数据库中,因此仅当页面刷新完成时才会显示新通知。我想让它实时使用一些推送服务器使用类似长轮询技术的东西 我遇到过NowJS,这似乎非常方便,但在所有给出的示例中,我看不到任何与数据库交互的示例。在所有情况下,都有一些信息由一个客户端发送,并显示给一个或多个客户端 我实际上想做的是使

我已经在django框架中建立了一个网站。它有很多功能,比如博客,讨论论坛,基本上有很多用户可以交互的方式。我建立了一个基本的通知框架,当有人在他们的博客上发表评论或在论坛上回答他们的问题时,会通知用户

由于通知存储在数据库中,因此仅当页面刷新完成时才会显示新通知。我想让它实时使用一些推送服务器使用类似长轮询技术的东西

我遇到过
NowJS
,这似乎非常方便,但在所有给出的示例中,我看不到任何与数据库交互的示例。在所有情况下,都有一些信息由一个客户端发送,并显示给一个或多个客户端

我实际上想做的是使用NowJS调用函数,并使其进入睡眠状态,直到在数据库中添加新通知。当一个新的通知传入时,服务器用该通知进行响应,并立即完成一个新的请求

除了如何从NowJS使用的节点服务器访问数据库之外,我还可以了解所有其他部分。感谢您的帮助或指导。

请选择:

  • 让node.js服务器通过REST api之类的方式对Django服务器进行http调用,以获取信息
  • Google为node.js提供了一个数据库连接器——我找到了足够的证据证明是MySQL的,还有关于PostgreSQL的传言。请注意,这不会让您访问Django DB API,因此您必须手工完成所有相关查询并编写SQL(确保Bobby表不会打扰您:)
  • 重新实现NowJS协议,这样您就可以为它编写django服务器,在客户端上保留相同的JS客户端代码。。。但是你也可以

  • …使用django socketio

    难道我不能使用RabbitMQ之类的东西,允许我将数据从django推送到流中,然后由Node.js服务器读取吗???重新实现NowJS协议将是不可行的,因为我还需要处理其他一些事情,并且重新开发可能会花费太多时间,这有点像(1)的倒数——让Django对Node.js服务器进行http调用。我猜你们的流程是:用户通过django向论坛发布新消息;django服务器向Node.js服务器发送http请求;Node.js将重新分发给侦听器。它与经典的NowJS聊天室示例类似,只是Django服务器在说话,浏览器在听。您可能不需要像RabbitMQ这样的消息队列。是的,我明白您的意思,但我仍然无法理解django serevr如何向Node.js发送http请求。我遇到过这篇文章,它使用RabbitMQ将数据放入消息队列,Node.js正在侦听这些队列。你能给我指一下正确的方向吗。Python可以使用urllib2和friends发送http请求。