ユーザーがログインしていない限り、ビューをキャッシュしようとしています。 current_user
ただし、ビュー内でのみ機能するため、に渡すのに問題がありunless=
ます。これを正しく行うにはどうすればよいですか?
@app.route("/")
@app.cache.cached(timeout=300, unless=current_user.is_authenticated())
def index():
return 'stuff to return'
ユーザーがログインしていない限り、ビューをキャッシュしようとしています。 current_user
ただし、ビュー内でのみ機能するため、に渡すのに問題がありunless=
ます。これを正しく行うにはどうすればよいですか?
@app.route("/")
@app.cache.cached(timeout=300, unless=current_user.is_authenticated())
def index():
return 'stuff to return'
呼び出しを でラップしますlambda
。Flask-Cache は、ビューが定義されたときに一度ではなく、ビューが実行されたときに関数を呼び出します。
@app.cache.cached(timeout=300, unless=lambda: current_user.is_authenticated)
ドキュメントでは、unless
毎回実行される callable である必要があると具体的に述べています。