Django: реализация веб-сокетов для работы с моим существующим приложением на основе MVT (для каналов, похоже, мне нужно выбросить весь существующий код) - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть существующий проект Django в области спорта с приложениями, построенными на структуре Model-View-Template.Многие из моделей и видов довольно сложны и хорошо работают в настоящее время.Данные из базы данных (оценки и т. Д.) Объединяются с некоторыми входящими пользовательскими вводами через формы (запросы HTTP POST) для отображения на веб-странице с помощью шаблонов.

Однако теперь мне нужны живые данные для отображения пользователями автоматически обновляться для всех пользователей непрерывно, либо потому, что один из пользователей ввел что-то новое (во внешнем интерфейсе), либо потому, что оценки, измененные во время игры (непосредственно вводятся во внутреннем интерфейсе).

Я провел некоторое исследование по переполнению стека, а также учебные пособия по Youtube / остальной части сети, и кажется, что для того, чтобы использовать каналы Django, мне пришлось бы начинать с нуля и строить все с нуля, что я быхотел бы избежать.Как мне легко использовать протокол websocket для моего приложения Django без необходимости полностью переделывать все, что я сделал до сих пор?

1 Ответ

0 голосов
/ 15 апреля 2019

Вам не нужно начинать с нуля или чего-то еще.Вам просто нужно добавить модуль, используя каналы.Я предполагаю, что в настоящее время данные выбираются только при обновлении страницы.Что вам нужно сделать, это написать потребителя, который используется для отправки сообщений непосредственно клиенту через веб-сокет.Затем в передней части вы можете обновить виджет с баллами по каждому сообщению, полученному в веб-сокете.Вы также можете передавать действия пользователя через веб-сокет на сервер, который затем будет транслироваться потребителем нужным клиентам.Возможно, вам даже не нужно ничего менять в существующем коде.Будет легче понять, как это работает и как вы можете включить его в свой проект, прочитав учебные пособия по каналам.После прочтения мне стало понятнее, поэтому я бы посоветовал вам сделать то же самое

...