我在仪器项目中做到了这一点。我使用
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



