Djangoでプッシュシステムを構築する必要があります。基本的に、その機能はサーバーからブラウザーにメッセージをプッシュすることです。
Nodejsは使用できないため、websocketまたはorbitedを好みますが、Djangoでこれら2つのいずれかを実装する方法がわかりません。 plsは私に方法を勧めます、これは私に大いに役立ちます、thx。
Djangoは、クライアントに「プッシュ」するのが得意ではありません。 Djangoが唯一のオプションである場合、プッシュを模倣する唯一の方法はロングポーリングを使用することです。しかし、これは効率的ではありません。代わりに、Webソケットは高温です。竜巻とねじれがここで役立ちます。そこでまた、質問に対するより完全な回答 here です。
1つのオプションは、REST /プッシュAPIを備えたDjangoサーバーと並行して実行されているWebSocketサーバーを使用し、単純にHTTPによってDjangoからプッシュすることです。/POSTをWebSocketサーバーに送信すると、接続されているすべての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でのWebSocketの別の実装: https://github.com/jonashagstedt/swampdragon
ドキュメントから:SwampDragonは、Djangosの素晴らしいORM、Tornadosの優れたWebSocketサポート(フォールバックあり、IE7でテスト済み)、Redisの驚異的な速度を利用しています。
2016年現在、 Django Channels があり、これによりWebSocketがDjango(1.8以上)になります。
公式の一部Djangoプロジェクト でもあります。
Djangoモジュールがあります。これは、Redisをメッセージキューとして使用するWebsocketをすぐにサポートします。こちらをご覧ください: https://github.com/jrief/Django-websocket -redis
免責事項:私はそのライブラリの作者です。
@hymlothが示唆するように、より良い方法は、トルネードまたはnode.jsを使用することです。
しかし、Djangoを使用する必要がある場合は、WebSocketの実装に関する記事を書いてあります。
http://curella.org/blog/2012/jul/17/Django-Push-using-server-sent-events-and-websocket/
内部で竜巻を使用し、python 3をサポートしています。