django でプッシュ システムを構築する必要があります。基本的にその機能は、サーバーからブラウザーにメッセージをプッシュすることです。
nodejsは使用できないので、websocketまたはorbitedを好みますが、これら2つをdjangoで実装する方法がわかりません。plsは私に方法をお勧めします、これは私を大いに助けます、thx。
1 つのオプションは、REST/Push API を備えた Django サーバーと並行して実行されている WebSocket サーバーを使用し、Django から WebSocket サーバーに HTTP/POST するだけでプッシュを実行し、接続されているすべての WebSocket クライアントにメッセージを配信することです。 .
そうすれば、既存の Django アプリに構造的/技術的な変更を加える必要はありませんが、スケーラブルで最新の WebSocket ベースのプッシュ機能を利用できます。
上記のホスティング サービスについては、http://pusher.comを参照してください。
自分で実行したい場合は、すぐに実行できる仮想アプライアンス (VMware、VirtualBox、Amazon EC2) として展開されているhttp://autobahn.wsをご覧ください。ここで REST/API の実例を見つけることができますhttps://github.com/tavendo/AutobahnPushPython
免責事項: 私は Autobahn Open-source の作成者であり、Autobahn.ws (Autobahn OSS に基づく商用サービス) を提供する Tavendo で働いています。
Django はクライアントに「プッシュ」するのが苦手です。django が唯一の選択肢である場合、プッシュを模倣する唯一の方法はロングポーリングを使用することです。しかし、これは効率的ではありません。代わりに、Websocket はホットです。ここではトルネードとツイストが役に立ちます。あなたの質問に対するより完全な回答もありますhere .
Redis をメッセージ キューとして使用してすぐに使用できる Websocket をサポートする Django モジュールがあります。こちらをご覧ください: https://github.com/jrief/django-websocket-redis
免責事項: 私はそのライブラリの作成者です。
@hymloth が示唆するように、より良い方法は tornado または node.js を使用することです。
ただし、Django を使用する必要がある場合は、Django を使用した WebSocket の実装に関する記事を書いたので、役に立つかもしれません。
http://curella.org/blog/2012/jul/17/django-push-using-server-sent-events-and-websocket/
内部で tornado を使用し、python 3 をサポートしています。