どのようにAppEngineののWebアプリケーションフレームワークにミドルウェアを追加するには?

StackOverflow https://stackoverflow.com/questions/352079

質問

私はのAppEngine Webアプリケーションフレームワーク(リンクを)使用しています。それは、Djangoのミドルウェアを追加することは可能ですか?私は、任意の例を見つけることができません。私は現在、(リンクを)動作するようにFirePythonミドルウェアを取得しようとしています。

役に立ちましたか?

解決

それは簡単です:あなたはそれを実行する前に、あなたのWSGIミドルウェアでそのアプリケーションをラップ、通常通りWSGIアプリケーションを作成します。

firepythonがあるかを確認するためにBloogからこのコードを参照してください。ミドルウェアとして追加しました。

他のヒント

GAEのWebアプリケーションフレームワークは、Djangoフレームワークに1対1でマッピングされていません。また、アダプタのいくつかの種類を自分で実装することなく、あなたがやりたいのは難しいだろう、私はこれを行うために第三者ハンドラアダプタを知りません。

それは私が有力候補と最新の1.0.2のDjangoリリースを使用することができますし、あなただけのDjangoはsetup.pyファイルを使用して通常の方法をミドルウェア含めることができますので、私は一般的にアプリエンジン・パッチを使用し、言いました。あなたがする必要がある場合、あなたはおそらく、彼らはそれを行う方法を確認し、フレームワークとしてそれに起動するアプリ - エンジン - パッチのアダプタを介して見ることができます。

ジャンゴによって理解されるように、

「ミドルウェア」はWSGIは「ミドルウェア」と呼ぶものとは全く異なる要求/応答プロセッサの一種です。考える:Djangoのようなミドルウェアが追加されますsession属性を何ビーカー(WSGIミドルウェア)に基づかオブジェクトを要求するenviron['beaker.session']に入れています。スタックにWSGIミドルウェアを追加する(既にごmain.pyでWSGIレベルで動作する)は簡単である必要がありますが、要求/応答プロセッサを追加すると、要求と応答がWSGIから抽象化されている方法によって異なります。

これは WERKZEUG の(基本的なWSGIツールセットがある)を使用して行うことができますどのように<のhrefに記述されています= "http://dev.pocoo.org/projects/werkzeug/wiki/RequestResponseProcessor" のrel = "nofollowをnoreferrer"> WERKZEUGのウィキとその<のhref = "HTTPのいずれかで://dev.pocoo .ORG /プロジェクト/ WERKZEUG /ブラウザ/ WERKZEUGに/ contrib / kickstart.py#L89" のrel = "nofollowをnoreferrer">のcontribモジュールのます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top