0

ルートfoo()に入る前に、すべてのリクエストを関数内に入れる方法を探しています。

request.environそうすれば、実際の作業を行う前に読むことができます。

私はコードを繰り返さないようにこれを行おうとしていますが、BottlyPyでそのようなことを行う方法を見つけることができません...

私の設定は次のとおりです:nginx->uwsgi->bottlepy。

4

1 に答える 1

3

それがプラグインの使用目的です。

次に例を示します。

import bottle
from bottle import request, response

def foo(callback):
    def wrapper(*args, **kwargs):
        # before view function execution
        print(request.environ)  # do whatever you want

        body = callback(*args, **kwargs)  # this line basically means "call the view normally"

        # after view function execution
        response.headers['X-Foo'] = 'Bar'  # you don't need this, just an example

        return body  # another 'mandatory' line: return what the view returned (you can change it too)
    return wrapper

bottle.install(foo)
于 2012-08-21T16:00:19.333 に答える