python - Flask-Login 显示 401 而不是重定向到登录 View

标签 python flask flask-login

使用 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/

相关文章:

python - TwitterHTTPError 检索 Twitter 趋势时出现

python - 如何获取二进制表示为 1 的数字?

python - 制作字典列表按值传递

python - 在 Pymongo 中实例化 Connection() 对象的适当范围

python - Jinja 将所有 Flask-Login 用户视为未经过身份验证

python - Flask-SQLAlchemy 设置关系默认值

python - 来自 StringIO (Python) 的 SQLite3 连接

python - 启动 Flask 应用程序时出错,错误为 "Failed to find Flask application"

flask - 在Kubernetes中安装Apache Airflow 1.10.0-Flask错误

python - 使用 Flask 并行处理多请求