使用Flask-Login,我想要求登录一些视图。当我尝试访问用@login_required
修饰的视图时,我收到401消息而不是登录页面。如何正确设置?
from flask_login import LoginManager, login_required, login_user
login_manager = LoginManager()
login_manager.init_app(app)
@login_manager.user_loader
def load_user(user_id):
return User.get(user_id)
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
# authenticate user from form
login_user(user)
return redirect(url_for('index'))
return render_template('login.html')
@app.route('/protected')
@login_required
def protected():
return 'Hello, World!'
答案 0 :(得分:3)
您尚未告知Flask-Login使用哪种视图来显示登录表单,因此默认为通用401错误。从docs:“如果未设置登录视图,则会因401错误而中止。”
login_manager.login_view = 'login'