Last active
December 10, 2017 10:25
-
-
Save sademidenko/f7087a62118f6f3d3a5f2ee141dbc07f to your computer and use it in GitHub Desktop.
Lecture7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Я поднимаю глаза,я тоскую по родственным душам, мне здесь так тесно |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Для реализации push уведомлений будем использовать Channels. В будущем, эта библиотека библиотека будет включена в ядро с версии 2.0.
Установка зависимости
Нас интересует тег 7.1
Теперь при нахождении на странице вопросов, Вам будут приходить уведомления о новых вопросах.
Для работы приложения необходимо добавить свой роутинг для ассинхронного взаимодействия. Будем обрабатывать:
На подключение и отключение websocket`а
После чего нам необходимо добавить вьюхи, которые будут выполнять логику обработки соединения.
Самое интересное в коде это вызов Group. При подключении мы подписали клиента на событие
И теперь вызывая
Мы отправим сообщения всем людям которые подписались на Question.group_name.
Как происходит подписка на события? Очень просто, мы вызываем функции из JS либки которая идёт в коробке :)
Остальной код, это импорт библиотек и минимальные настройки для работы, они не очень интересны.
Для красивого отображения сообщений через WS можно использовать:
Полезные ссылки: