1

ハイブリッドアプリケーション(デスクトップアプリに組み込まれたWebテクノロジー)を構築したい。

Webバージョンから始めて、WebKitを使用して埋め込みますが、埋め込みバージョンがTCPポートを介してリクエストを処理することは望ましくありません。

WebKit(Qt、Gtk)を使用すると、すべてのURLリクエストをインターセプトし、それらに対応できます。

私が見逃しているのは、TCP(またはWSGI)を経由せずにFlaskURLから呼び出し可能なディスパッチャーを呼び出す方法です。

デバッガーでコールスタックを分析するよりも優れたアイデアはありますか?

4

1 に答える 1

2

Simon Sapinは、(非常にアクティブな)Flaskメーリングリストで次のように回答しました。

なぜWSGIではないのですか?

Pythonインタープリターをどこかに入手する必要があります。次に、要求されているURLなどのWebKitからのデータを使用してアプリケーションを呼び出し、応答を取得する必要があります。WSGIはまさにそれです:Python関数(または他の呼び出し可能なオブジェクト)の呼び出し規約。

WSGIが必要以上に複雑な場合は、テストクライアントを使用できます。

それが私がFrozen-Flaskでそれを行う方法です。WSGIレベルでFlaskアプリへのHTTPリクエストをシミュレートし、静的ファイルにレスポンスを書き込みます。テストクライアントは、WSGI呼び出しを行うためのより簡単な方法です。

https://github.com/SimonSapin/Frozen-Flask/blob/master/flaskext/frozen/__init__.py#L228

WSGIは、実際にはFlaskの「エントリポイント」です。

それ以外に、Flaskの内部動作に興味がある場合は、ここから調べ始めてください。

https://github.com/mitsuhiko/flask/blob/master/flask/app.py#L1477

于 2011-10-22T08:26:15.087 に答える