2012-03-01 50 views
0

我在django框架中构建了一个网站。它有很多功能,如博客,讨论论坛,基本上有很多用户可以互动的方式。我建立了一个基本的通知框架,用户在他们的博客上发表评论时得到通知,或者在论坛中回答他们的问题。如何使用NowJS在django框架中向用户提供通知

由于通知存储在数据库中,因此只有在页面刷新完成后才会显示新的通知。我想使用一些推式服务器来实时使用长轮询技术。

我碰到过NowJS这似乎很方便,但在所有给出的例子中,我看不到任何与数据库有任何交互的例子。在所有情况下,有一个客户发送了一些信息,并将其显示给一个或多个客户。

我真正想要做的是使用NowJS调用函数,并使其进入睡眠状态,直到在数据库中添加新通知。当新的通知进入服务器时,通知会回应,并立即完成新的请求。

我可以找出除了如何从NowJS使用的节点服务器访问数据库以外的所有其他部分。任何帮助或指导表示赞赏。

回答

1

或者:

  1. 有你的node.js服务器通过什么让一个HTTP调用Django的服务器就像一个REST API来获取信息回来
  2. 谷歌针对Node.js的数据库连接 - 我找到了足够的证据证明MySQL是一个,以及有关PostgreSQL的谣言。请注意,这将不会让您访问Django DB API,因此您必须制定所有相关查询并手工制作SQL(确保Bobby Tables不会打扰您):
  3. Re-实现NowJS协议,以便你可以为它编写一个django服务器,在客户端保留相同的JS客户端代码...但是你也可以......

... use django- socketio http://blog.jupo.org/2011/08/13/real-time-web-apps-with-django-and-websockets/

+0

我不能使用像RabbitMQ这样的东西,它允许我将数据从django推入流中,并且将由Node.js服务器读取。重新实现NowJS协议将是不可行的,因为我还需要处理其他一些事情,并且重新开发可能需要很长时间 – Sachin 2012-03-01 10:11:05

+0

这有点像(1)的反面 - 让Django对Node进行http调用。 js服务器。我猜你的流程是:用户通过django向论坛张贴新消息; django服务器向Node.js服务器发送http请求; Node.js重新分配给侦听器。它就像经典的NowJS聊天室示例,除了Django服务器正在聊天,浏览器正在监听。您可能不需要像RabbitMQ这样的消息队列。 – Spacedman 2012-03-01 10:21:13

+0

是的,我得到你的观点,但后来我无法弄清楚如何django serevr发送http请求到Node.js.我遇到了使用RabbitMQ将数据放入消息队列的文章,并且Node.js正在监听这些队列。你能指出我在正确的方向 – Sachin 2012-03-01 10:53:05

相关问题