Django:实现 websockets 以与我现有的基于 MVT 的应用程序一起工作(Channels 似乎需要我扔掉我的整个现有代码)

Django: implementing websockets to work with my existing MVT-based app (Channels seems to need me to throw out my entire existing code)

我在体育领域有一个现有的 Django 项目,其中包含基于模型-视图-模板结构构建的应用程序。许多模型和视图都相当复杂,目前运行良好。来自数据库的数据(分数等)通过表单(HTTP POST 请求)与一些传入的用户输入相结合,以通过模板显示在网页上。

但是,我现在需要向用户显示实时数据并不断自动刷新给所有用户,因为其中一个用户输入了新内容(在前端),或者因为分数在期间发生了变化游戏(直接进入后台)

我已经对 Stack Overflow 以及 Youtube/其余网络上的教程进行了一些研究,看来要使用 Django Channels,我必须从头开始并从头开始构建所有内容,我想避免。如何轻松地为我的 Django 应用程序使用 websocket 协议,而不必完全返工我目前所做的一切?

您真的不需要从头开始或任何事情。您只需要使用频道添加一个模块。我假设目前只有在刷新页面时才会获取数据。您需要做的是编写一个消费者,用于通过 websocket 将消息直接发送到客户端。然后在前面,您可以使用 websocket 中收到的每条消息的分数更新小部件。您还可以通过 websocket 将用户操作流式传输到服务器,然后由消费者将其广播到所需的客户端。您甚至可能不需要更改现有代码中的任何内容。 通过阅读频道教程,将更容易理解它的工作原理以及如何将其合并到您的项目中。阅读后我变得更清楚了,所以我建议你也这样做