使用 Flask-Login,我想要求登录才能查看某些 View 。当我尝试访问用 @login_required
装饰的 View 时,我收到一条 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!'
最佳答案
您还没有告诉 Flask-Login 使用什么 View 来显示登录表单,所以它默认为一般的 401 错误。来自docs : "如果未设置登录 View ,它将以 401 错误中止。"
login_manager.login_view = 'login'
关于python - Flask-Login 显示 401 而不是重定向到登录 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33724161/