2016-10-24 2 views
3

タグ「after_request(f)」と「before_request(f)」で定義された関数は、「every」リクエストの前後に実行されます。特定の要求セットに対してのみ実行される関数を定義することは可能ですか?特定のリクエストセットに対するPython Flask after_requestとbefore_request

たとえば、静的ディレクトリのリソースへのアクセス要求が行われた場合にのみ、関数を実行します。あるいは、異なるタイプのリクエストを区別したいと思うかもしれません。これを達成する方法はありますか?

+1

は青写真を使用してルートを分離することができます。カスタムデコレータをブループリントのすべてのルートに適用できますか? – reptilicus

答えて

-1

これを実行する最善の方法は、ラッパーを使用することです。

def wrapper_name(func): 
    def wrapper(*args, **kwargs): 
     # Execute before function 
     rv = func(*args, **kwargs) 
     # Execute after function 
     return rv 
    wrapper.__name__ = func.__name__ 
    return wrapper 

@app.route('/foo') 
@wrapper_name 
def foo(): 
    return "This gets passed to rv" 
関連する問題