使Flask-Login的login_required为默认值的最佳方法
我现在使用Flask-Login
的login_required
装饰器。无论如何,使其成为默认行为Flask
?
回答:
我在仪器项目中做到了这一点。我使用before_request
装饰器:
@app.before_requestdef check_valid_login():
login_valid = 'user' in session # or whatever you use to check valid login
if (request.endpoint and
'static' not in request.endpoint and
not login_valid and
not getattr(app.view_functions[request.endpoint], 'is_public', False) ) :
return render_template('login.html', next=request.endpoint)
然后,我is_public()为无需登录即可访问的几个地方创建了一个装饰器:
def public_endpoint(function): function.is_public = True
return function
以上是 使Flask-Login的login_required为默认值的最佳方法 的全部内容, 来源链接: utcz.com/qa/425833.html