Djangoアプリケーションの開発に取り掛かりました.Djangoアプリケーションでは、カスタムスクリプトを別のサーバーで実行するためのWEB UIが必要で、リアルタイムでUIの出力を確認する必要があります。 Importentはステップバイステップスクリプトの実行を表示します。問題は - どのようにスクリプト出力(プリント、Pythonスクリプトのロガー)をチャンネルにリダイレクトしてクライアントにプッシュするのですか?リアルタイムアプリケーションのDjangoチャンネル
答えて
私はDjangoアプリケーションで作業していませんが、MVCフレームワークなので、私の答えはあなたの質問に関連していると思います。
コントローラにajaxコール(多分jqueryで)を呼び出すと、あなたのスクリプトを起動することができます。私はこれを行うには2つの方法があると思う。
まず、異なるサーバーサイドスクリプトを呼び出す異なるコントローラにシリアルajax要求を行うことです。例:第2の方法では
// Javascript
$.ajax({
url: '/controller1/',
data: {
payload: "Anything"
// some payload that you may want to pass to controller
// optional
},
dataType: 'json',
success: function (data) {
// assess results of your call
}
}
});
$.ajax({
url: '/controller2/',
data: {
payload: "something"
// some payload that you may want to pass to controller
// optional
},
dataType: 'json',
success: function (data) {
// assess results of your call
}
}
});
# ==== Python =========
from django.http import JsonResponse
def controller1(request):
# get data passed along with ajax request
dataFromClient = request.GET.get('payload', None)
# send that data to your script, for processing, if required
resultFromScript = Script1(dataFromClient)
#return processed data back to client
return JsonResponse(resultFromScript)
def controller2(request):
# Similar structure
、あなたは1つのコントローラに、一度に外部スクリプトが必要とするすべてのペイロードを転送し、そのコントローラのコール他のスクリプトを聞かせて、別の変数にその結果を保存することができます。最後に、さまざまな変数から結果をシリアル化し、JSONとしてクライアントに戻します。
私はこれがあなたにいくつかの洞察を提供してくれることを願っています。
しかし、この場合、完成すると、ajaxはスクリプトのoitputを取得します。しかし、私は一歩一歩踏み出す必要があります。例えば、私はpythonスクリプトを実行する必要がありますが、「印刷」はほとんどありません。スクリプトが終了するのを待つのではなく、ひとつずつプリントを見たいのです。 –
本当に、私はこれがあなたが望んだと思った。あなたの問題のステートメントは "websockets"にもっと適していると思います。あなたのケースでは、クライアントがサーバから新しいデータをpingすることはあまり実用的ではありません。その代わりに、WebSocketを作成して、クライアント側のpingスクリプトで新しいデータをプッシュできるようにします。ここでそれらについて読む:https://www.fullstackpython.com/websockets.html – Blaze
あなたはterm.jsのようなものを考えるかもしれません。それはあなたが行っているユースケースのようなものなら、出力を表示するための端末コンソールを表示することができます。 – Ivan
- 1. リアルタイムアプリケーションとPython - 竜巻 - Falcon - Django
- 2. djangoチャンネルのデバッグ
- 3. DjangoチャンネルNginxプロダクション
- 4. DjangoチャンネルHttpClientテストエラー
- 5. pip- DjangoチャンネルのRedis
- 6. Djangoの残りのフレームワーク+ ionic2 + Djangoのチャンネル
- 7. は、リアルタイムアプリケーション
- 8. djangoチャンネルとウェブソケットの使用
- 9. djangoチャンネルのプロファイル方法は?
- 10. djangoチャンネルの後ろにhttps
- 11. Djangoのチャンネルとsocket.io-client
- 12. Djangoチャンネルdjangoシェルを使用して
- 13. 強制DjangoチャンネルWebsocket認証
- 14. Androidアプリ向けDjangoチャンネルAPI
- 15. GAJチャンネルapiとdjango-nonrel
- 16. 非リアルタイムアプリケーションのWebソケット?
- 17. djangoを使ってリアルタイムアプリケーションを扱っています
- 18. キープユーザーDjangoのチャンネルはのOAuth2はauthenticatio
- 19. リアルタイムアプリケーションyii2を使用
- 20. カスタムコマンドのDjangoチャンネルによるデータバインド
- 21. Djangoチャンネルのスパイクをロードする
- 22. Djangoチャンネルのバックグラウンドタスクをエンドツーエンドでテストする
- 23. リアルタイムアプリケーションのためのHbase
- 24. リアルタイムアプリケーションの作成USing composer
- 25. Javaリアルタイムアプリケーションの垂直スケーリング
- 26. リアルタイムアプリケーション - socket.io(node.js)の代替
- 27. Djangoチャンネルを使用するWebsocket
- 28. uWSGIはDjangoチャンネルと同じです
- 29. DjangoチャンネルでHTTPロングポーリングを行う方法
- 30. Djangoチャンネル。グループにユーザーを追加する
クライアント側からサーバー側にajaxリクエストを行うことでこれを行うことはできません。 – Blaze
この場合、私はどこかの出力を保存し、毎秒ajaxリクエストを作成する必要があります。多分それはまた黙想です。どのように私はajaxで使用されるスクリプトの出力をリダイレクトできますか?多分あなたはいくつかの例を持っています –