http推django彗星

时间:2011-10-13 21:15:41

标签: html django comet

我想创建一个django服务器来刷新你接近数据库的内容,如果想要首先让用户看到数据库的当前内容,并且随着山谷成为新内容,这个内容来了,是放在上一个内容之上而不重新加载页面,在网站的另一部分是让你在新的数据库中更改当前内容?

evserver清晰度是我的选择,但真的不知道如何以及最简单有效的是什么?

2 个答案:

答案 0 :(得分:1)

我认为你应该避免HTTP轮询。原因如下:

  • 如果setInterval的频率与您网络应用中的用户数量相结合,将导致大量资源消耗。如果您浏览this presentation中的幻灯片9到19,您会看到一些非常引人注目的使用Push的数据(注意:此示例使用托管服务,但托管您自己的实时服务器并使用Push也具有类似的好处
  • setInterval次调用之间,您应用中显示的数据可能缺少数据。使用Push技术意味着新数据可用的瞬间可以在您的应用中推送和显示。您不希望用户查看应用程序并认为他们看到的是正确的信息。

您应该采取以下StackOverflow问题:

对于Python / Comet,请参阅:

我建议你也开始考虑“WebSockets”以及“Comet”。大多数Comet服务器现在都希望尽可能使用WebSocket连接。

如果您更愿意避免安装和管理自己的Comet / WebSocket解决方案,那么您可以使用realtime hosted service,这将允许您使用REST API推送数据,并且您的客户可以通过嵌入来接收事件JavaScript库并编写一小部分代码来订阅和接收事件。

答案 1 :(得分:0)

步骤非常简单:

  1. 编写模型以在DB
  2. 中存储数据
  3. 编写一个视图,在POST请求时生成JSON序列化数据。
  4. 编写一个包含setInterval()的JavaScript的模板 将AJAX请求发送到视图并呈现收到的数据。 (我建议使用JQuery,因为它有很好的文档记录并且很普遍)。