私はPythonとDjangoには新しく、私はDjangoでWebソケットを実装しようとしています。
私は何をしているのですか?websockets documentation
問題は、説明したサーバー側のコマンドをコンソールで実行する必要があることです。私はコンソールからそれを動作させると動作しますが、私はGET
要求と非同期にDjangoビュー内で実行したいと思います。私はそれを試してみると、サーバはこのような例外を発生させるRuntimeError: There is no current event loop in thread 'Thread-2'
。
具体的には、リアルタイムログを表示する技術を使用したいと思います。たとえば、Oracleプロシージャは挿入を実行し、サーバーはWebSocketを使用してページに挿入します。
説明を実装するための間違った経路にいるのですか、誰かが正しい/より良い解決策を提案できますか? 6.7Django websocketsの実装
UPDATE
上記URLと私からの正確なコード:私はDjangoの開発サーバとUwsgiとnginxのサーバーの両方に実装さDjangoのバージョン1.9、RedHatEnterpriseServerリリース上のPythonのバージョン3.5.2によ
それをビューに入れてください。
def ws(request):
async def time(websocket, path):
while True:
now = datetime.datetime.utcnow().isoformat() + 'Z'
await websocket.send(now)
await asyncio.sleep(random.random() * 3)
start_server = websockets.serve(time, '192.168.4.177', 9876)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
return render(request,"ws.html")
このビューでURLを処理すると、上記のエラーが発生します。マイws.html
は
あなたは何を試してみませんか? – juankysmith
@juankysmithアップデートをご覧ください。 – arminrock