我正在尝试缓存视图,除非用户已登录。 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
应该是每次都会执行的可调用对象。