問題タブ [django-notification]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django - ユーザーがリアルタイムでオンライン/オフラインかどうかを追跡する方法は?
django-notificationsと Web Sockets を使用して、iOS/Android および Web アプリにリアルタイム通知を送信することを検討しています。したがって、おそらくDjango Channelsを使用します。
Django Channelsを使用して、ユーザーのオンライン ステータスをリアルタイムで追跡できますか? はいの場合、サーバーを常にポーリングせずにこれを達成するにはどうすればよいですか?
適切な解決策を見つけることができなかったので、ベストプラクティスを探しています。
更新:
これまでに試したことは次のアプローチです。Django Channels を使用して、接続'online'
時にユーザー ステータスを に設定し、ソケットが切断されるとユーザー ステータスを に設定する WebSocket コンシューマを実装しました'offline'
。もともとステータスを含めたかったの'away'
ですが、私のアプローチではそのような情報を提供できません。また、ユーザーが複数のデバイスからアプリケーションを使用する場合、私の実装は正しく機能しません。これは、あるデバイスで接続を閉じても、別のデバイスで開いたままにすることができるためです。'offline'
ユーザーが別の接続を開いている場合でも、ステータスは に設定されます。
注:
私の現在の作業ソリューションは、Django REST フレームワークと API エンドポイントを使用して、クライアント アプリが現在のステータスで HTTP POST 要求を送信できるようにすることです。たとえば、Web アプリはマウス イベントを追跡し、常にonline
X 秒ごとにステータスを POST し、マウス イベントがなくなるとaway
ステータスを POST し、タブ/ウィンドウが閉じようとすると、アプリは POST リクエストを status と共に送信しますoffline
。これは有効なソリューションです。ブラウザによっては、offline
ステータスを送信するときに問題が発生しますが、機能します。
私が探しているのは、サーバーを常にポーリングする必要のない、より優れたソリューションです。
django - Django 2.0 通知: django-notifications のデフォルトの list.html ページを上書きする方法
そのため、最近Django 通知をインポートし、1つまたは 2 つの通知を正常に追加しました。次にリストページを見てみたいと思います。URL に通知エンドポイントを追加しました。URLに移動すると、ドキュメントに一致する出力がpath('notifications/', include("notifications.urls")),
得られます。
さて、通知URLを変更するにはどうすればよいですか。通知用のアプリを作成しようとしましたpython manage.py startapp notifications
が、既に存在すると言われました。シンプルなものが欠けているような気がしますが、指を置くことはできません。