Как я могу отправить данные в реальном времени в приложение Django и показать их на веб-странице? - PullRequest
1 голос
/ 31 марта 2020

Я пытаюсь добавить функции реального времени в мое Django веб-приложение. По сути, я хочу показывать данные в реальном времени на веб-странице.

У меня есть внешний скрипт Python, который генерирует некоторые JSON данные, не большие данные, а около 10 записей в секунду. С другой стороны, у меня есть приложение Django, я бы хотел, чтобы мое приложение Django получало эти данные и отображало их на странице HTML в режиме реального времени. Я уже рассматривал возможность обновления данных в БД и последующего извлечения их из Django, но у меня было бы слишком много запросов, поскольку Django будет запрашивать БД 1+ раз в секунду для каждого пользователя, и мой внешний сценарий будет запись большого количества данных каждую секунду.

Чего мне не хватает, так это "центральной" системы, способ заставить эти две части общаться. Я знаю, что вопрос, вероятно, недостаточно конкретизирован c, но есть ли способ сделать это? Я знаю кое-что о Django каналах, но я не знаю, смогу ли я сделать с ним то, что я хочу; Я также рассмотрел вопрос об обновлении данных в очереди RabbitMQ и их получении из Django, но это не лучшее использование RabbitMQ.

Так есть ли способ сделать это с Django -каналами? Любой совет приветствуется.

1 Ответ

1 голос
/ 31 марта 2020

Я бы предложил использовать Django Каналы. Вы также можете использовать Redis вместо RabbitMQ. В вашем случае Redis может быть лучшим выбором.
Вот подход: http://www.maxburstein.com/blog/realtime-django-using-nodejs-and-socketio/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...