web-dev-qa-db-ja.com

Pythonおよびオフラインで使用するためのJavaScript統合

私はここで初めてのタイマーなので、この質問を別のフォーラムに投稿する必要があるかどうかを知らせてください!

ユーザー入力を取り込むpythonプログラムがありますが、オフラインのときにのみ役立ちます。UIを改善したいので、HTML CSSを使用するとJavaScriptが完璧になると思いました。私の質問は、pythonとJavaScriptがオフライン(JSフロントエンド、pythonバックエンド)のときに相互に変数を通信すること)が可能かどうかです。

それについて考えるもう1つの方法は、フォームの送信時に実行するスクリプトを選択する方法のようなものです(ただし、私が知る限り、これは、スクリプトがサーバー上にある場合にのみ機能します)。

どんな助けでも大歓迎です!

4
Red

Webサイトはサンドボックス化されており、外部スクリプトを実行できません。ブラウザに限定されています。ただし、サーバーにHTTPリクエストを発行できます。サーバーは必ずしも「あるデータセンターのマシン」ではなく、より一般的には「あるポートでリッスンし、HTTPを話すプロセス」です。

ブラウザサンドボックスのJavaScriptとPythonコードは、JSがPythonコードを実行するWebサーバーにHTTPリクエストを送信した場合にのみ通信できます。サーバーが必要です。たとえば、Flaskのようなフレームワークを使用して、シンプルなPython= Webサーバーを作成するのは非常に簡単です。変数を共有しませんが、メッセージを転送できます。メッセージには、多くの場合、JSコードはJSONエンコードされたデータを含むAjax POSTリクエストを送信し、サーバーは結果を含む別のJSONドキュメントで応答します。

しかし、それはインターネット接続なしでどのように機能しますか?ブラウザと同じコンピュータでサーバーを実行することが可能です。その後、サーバーはlocalhostをリッスンし、実際のネットワーク要求は行われません。たとえば、静的HTMLファイルを使用してサイトを開発する場合、python3 -m http.server -b localhost 8080を使用して単純なサーバーを起動することがよくあります。ブラウザでhttp://localhost:8080/に移動してサーバーに接続できます。

静的ファイルサーバーの代わりに、Pythonサーバーをいくつかのポートで実行します。ユーザーは、Pythonソフトウェアをインストールしてサーバーを起動し、次に開きます。 GUIをロードするためのブラウザーの正しいアドレス。

4
amon