Flask-Login显示401而不是重定向到登录视图

Adn*_*nan 3 python flask flask-login

我想使用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!'
Run Code Online (Sandbox Code Playgroud)

dav*_*ism 5

您尚未告诉Flask-Login使用哪个视图显示登录表单,因此默认为通用401错误。从文档中:“如果未设置登录视图,它将中止并显示401错误。”

login_manager.login_view = 'login'
Run Code Online (Sandbox Code Playgroud)