首页 > 解决方案 > Django Channels 2.x 还是 Ajax?

问题描述

我有一个 jQuery 数据表,有很多数据(10000+ 行),可以从很多用户那里实时使用/更新,我需要该表一直刷新和更新。我在 1 秒内尝试过 Ajax 调用,但我认为这并不好,因为每个用户每秒都在发送 Ajax 请求 * 50 或更多用户,我认为必须有更好的解决方案。我一直在考虑使用 Django Channels 或类似的东西(?),我想知道这可能吗?基本上我需要在模型(数据库)上设置某种监听器,并在更改时提取新数据(几乎每秒)。我很想听听比我有更多经验的人的意见。先感谢您。

附言。我被告知为此使用网络套接字。

标签: djangoajaxdjango-modelsdjango-ormdjango-channels

解决方案


简而言之,是的,网络套接字将是建议的方法。

如果您需要订阅的模型的所有更新都是通过 Django 的 ORM 进行的。

我建议考虑使用(或受其启发)DjangoChannelsRestFramework作为订阅数据库中多个模型的起点。

这个库被设置为允许您通过单个 Web 套接字连接订阅多个对象类型,并在对象更改时获取 ws 消息。它还提供了一些工具,让您可以通过 Web 套接字重用现有的 DRF 视图。

免责声明:我是 DjangoChannelsRestFramework 的作者。


推荐阅读