Tag: django

Django 1.10和Socket.IO与Python 3

我试图find一些“django-socketio”回购在我的项目中使用。 我使用django 1.10和python3。 我真的search,但我没有find与python3工作的例子。 我可怜的解决方法 我开始节点项目,并把socket.io内部路由 在我的django视图中,我用django会话向节点路由发回数据 我pipe理来自我的节点内的Django的会话,并发送到客户端的路由。 这项工作,但我不能相信这是一个很好的解决scheme..任何人有其他的想法? 或与python3和socketio工作的例子? 谢谢!

Django,socket.io,node.js – pipe理私人消息和群组对话

我正在编写Facebook Messenger或WhatsApp等服务的后端。 我开始遵循这个精彩的教程 。 我用一个用Python(Django)编写的API来做到这一点。 除了这个API之外,我还有一个Redis进程和一个运行node.js的服务器(仅限本地主机)。 node.js服务器使用socket.io库通过websockets进行实时通信 包含消息的HTTP请求可以从任何客户端发送到Django API,而Django API则将消息发布到某个通道上的Redis。 node.js服务器订阅了Redis通道,并在发布这样的消息时得到通知。 节点跟踪哪些套接字当前与一些用户标识符键入的套接字ID数组连接。 我有几个关于这个问题: 1.私人信息 我想发送针对某个用户的消息。 我最初的做法是让HTTP请求(发送给Django)包含消息应该到达哪个用户。 当此消息到达node.js服务器(通过redis)时,节点可以在一个客户端数组中find该用户。 Django显然(?)需要知道哪个socket.io套接字属于哪个用户。 即Django需要知道节点应该使用哪个用户标识键来获取正确的套接字。 这是一个好方法吗? 由于我只使用一个发布渠道,Redis服务器会成为瓶颈吗? 当源用户发送消息时,如果消息的目标用户处于脱机状态,会发生什么情况? 我想抓住这个事件并发送推送通知。 2.房间 如果没有启动和维护组对话的function,此服务将不会有任何好处。 从我读过的,我应该为此创buildsocket.io:s 房间 。 那么我的问题是,如何保持会话之间的空间? 如果参与群组会话的每个用户都脱机,并从node.js服务器的客户机arrays中删除。 我能以某种方式在Django服务器的会话之间存储会议室吗? 任何帮助和/或反馈/想法是不胜感激。 谢谢

Django:使用Redis PubSub,Node.js和Socket.io的JSON通知

我碰到这篇文章: http : //maxburstein.com/blog/realtime-django-using-nodejs-and-socketio/ 哪一个引导我在正确的方向。 我目前有一个iOS前端和一个Django后端。 我使用Gunicorn为前端应用程序提供数据。 我的iOS应用程序和我的支持之间的通信是基于REST的。 我只是来回发送JSON。 我不提供任何网页。 只是JSON响应。 我已经实现了一个简单的发表和评论模型: class Post(models.Model): user = models.ForeignKey(User) blog = models.CharField(max_length=5000) class Comment(models.Model): comment = models.CharField(max_length=140) user = models.ForeignKey(User) post_id = models.ForeignKey(Post) created_at = models.DateTimeField(auto_now_add=True) 用户可以使博客文章和其他用户可以评论他们。 所以如果userX有一个博客文章和userY评论。 我想通知userX userY评论他/她的post。 我曾经依靠pyAPNS来通知用户; 一个使用Twisted向APNS发送通知的python包装,但是如果userXclosures了我的应用的推送通知,那么userX将无法接收应用内通知。 所以我运气不好 我只关心应用内通知。 我仍然喜欢userX在应用程序中接收实时更新。 当用户发出POST请求时,Django可以将消息发布到Redis上的频道。 Node.js将订阅该频道,并且socket.io会将其发送给该特定用户。 这里是我的views.py的一个简化版本创build注释对象。 我发送了发表评论的用户的ID,post的ID以及发布博客post的用户的ID。 用户将使用json发送一个请求到这个URL: http : //example.com : 8000/ upload-comment/ def […]

在Django和Backbone.js中使用Node.js

一些背景:我打算用Django作为后端构build一个应用程序,并使用Backbone.js作为前端Javascript框架。 这是一个单页面应用程序(SPA),这就是我决定使用Backbone.js的原因。 该应用程序类似于博客引擎; 用户发布包含文本和图像的条目,并能够通过“标签”查看它们。 他们可以通过“标签”或特定的单词search条目。 最近听到关于Node.js的所有大惊小怪,我想知道它如何帮助我的应用程序? 但我不想让应用程序纯粹运行在后端的node.js上,也就是说,我仍然希望使用Django作为后端。 如上所述,是否可以将Node用于“中端”? 如何使用Node.js优化我的应用程序?