1

ユーザーがログインしていない限り、ビューをキャッシュしようとしています。 current_userただし、ビュー内でのみ機能するため、に渡すのに問題がありunless=ます。これを正しく行うにはどうすればよいですか?

@app.route("/")
@app.cache.cached(timeout=300, unless=current_user.is_authenticated())
def index():
    return 'stuff to return'
4

1 に答える 1

1

呼び出しを でラップしますlambda。Flask-Cache は、ビューが定義されたときに一度ではなく、ビューが実行されたときに関数を呼び出します。

@app.cache.cached(timeout=300, unless=lambda: current_user.is_authenticated)

ドキュメントでは、unless毎回実行される callable である必要があると具体的に述べています。

于 2015-07-18T10:08:41.217 に答える