2

アプリは、基本的な WSGI アプリケーションとしてセットアップされます。requestHandler が実行される前に関数を呼び出そうとしています。

Rails での before_filter の動作に非常によく似たものが欲しいです。

ありがとう。

4

2 に答える 2

1

「前」をWSGIミドルウェアとしてインストールできます。AppEngineは、最近のPythonのほぼすべてのWebフレームワークやサーバーと同様に、WSGIを使用します。例を次に示します。ハンドラーの実行後に処理を実行しますが、実行するに実行する方がさらに簡単です...いずれの場合も、ミドルウェアは実際のアプリであるWSGIアプリケーションを「ラップ」します;-)、もちろん実行できます。前、後、または代わりに;-)。

WSGIの詳細については、こちらを参照してください。

于 2010-07-09T00:07:33.253 に答える
1

デコレーターを使用します。レールの before_filter とまったく同じではありませんが、おそらく十分です。

def before_filter(fn):
    def inner_function(self):
        # do stuff before
        return fn(self)
    return inner_function

class MainPage(webapp.RequestHandler):

    @before_filter
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')
于 2010-07-08T23:55:31.310 に答える