@Fedor_PV

Как в Django реализовать уведомление пользователя о новом входящем сообщении?

Здравствуйте! Подскажите в каком направлении двигаться, чтобы реализовать уведомление пользователя о новом входящем личном сообщении? Есть простенькая модель с полями "Отправитель-Получатель-Тема-Текст_Сообщения", во вьюхе для каждого конкретного пользователя реализована возможность видеть все входящие сообщения от всех других пользователей, возможность видеть все исходящие, возможность видеть личную переписку конкретного пользователя с конкретным получателем и т.д. Все простенькое, без всяких web-socket и django-channel (я до них не дорос еще).

Так вот, вопрос собственно возможно ли при такой модели как то прописать возможность, чтобы пользователь узнавал о новых входящих, например, чтобы появлялось какое то уведомление рядом с кнопкой "сообщения"? Уведомление по емайлу не интересно - это я уже реализовал.
  • Вопрос задан
  • 1279 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Без channels в режиме реального времени нельзя. При обновлениях страницы пользователем можно. Для этого надо либо хранить последнее прочитанное пользователем сообщение, делать выборку более новых и показывать их количество, либо завести новую модель типа Notification и при отправке сообщения пользователю создавать эти Notification, а при обновлении страницы показывать их и тут же удалять. Ну и в обоих случаях можно добавить костылик в виде периодических ajax-запросов для получения информации о новых сообщениях, для иллюзии интерактивности. Только надо понимать, что поллинг может создать значительную нагрузку на сервер даже от незначительного количества пользователей.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы