【发布时间】:2018-04-17 20:45:55
【问题描述】:
我在 Django 中有一个社交网络应用程序,我想在我的应用程序中集成实时通知和消息传递功能。
我的朋友可以构建一个龙卷风应用程序,但我想基本上将它们连接在一起(我猜如果我错了,我必须让一个 REST API 纠正我)
我怎样才能从 Django 中完成这些任务
- 在我登录时自动向 WebSocket(tornado) 进行身份验证 django 应用程序
- 导入我所有的朋友
- 如果用户没有收到消息,发送龙卷风信号发送通知
类似的事情
我该怎么做这样的事情。
(顺便说一句,我不想使用 django 频道,因为它相当新)
【问题讨论】:
-
django-channels 已经存在几年了。它已被制作成一个官方的 Django 项目。我觉得挺稳定的。如果您希望快速创建项目,我认为您应该使用它。
-
您可以同时使用 Tornado 和 Django。您必须使用消息队列和 Redis 之类的内存数据库。如果你有时间,你可以学习这些技术。将来会对你有所帮助。如果你想快速建立一个项目,我认为这不是你想要的方式。
-
我相信让事情变得稳定而不是快速完成。这种使用外部框架的技术已经存在了很长时间,我只是不信任渠道。通道也不是异步的,在它下面运行就像一个同步框架,这就是为什么我不想进入这个。
-
django-channels 是异步的。阅读FAQs。此外,通道在单独的进程中运行,因此与运行“外部框架” 非常相似。而且,无论您是否信任它,它都是稳定的。我想说的是,仅仅为了实现实时通知,在 Django 旁边设置 Tornado 的所有麻烦都是没有意义的。无论如何,如果你真的愿意这样做,请查看
Message Queues——这就是 Tornado 和 Django 可以交流的方式。 -
自您上次发表评论以来,我一直在研究频道,并且正在深入研究。我会尝试使用渠道来实现它
标签: django rest websocket tornado