使Flask-Login的login_required为默认值的最佳方法

我现在使用Flask-Loginlogin_required装饰器。无论如何,使其成为默认行为Flask

回答:

我在仪器项目中做到了这一点。我使用before_request装饰器:

@app.before_request

def 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

回到顶部