首页 > 后端开发 > Python教程 > 为什么我的 Flask 视图返回'TypeError: 'bool' object is not callable”?

为什么我的 Flask 视图返回'TypeError: 'bool' object is not callable”?

Linda Hamilton
发布: 2024-12-10 06:02:10
原创
930 人浏览过

Why Does My Flask View Return a `TypeError: 'bool' object is not callable`?

Flask View TypeError: 'bool' Object Not Callable

在 Flask 中,视图应该返回特定的数据类型,即:字符串、响应对象、字符串和状态代码的元组或有效的 WSGI 应用程序。但是,返回布尔值可能会导致错误: TypeError: 'bool' object is not callable.

当视图函数返回布尔值(而不是返回上述数据类型之一)时,就会发生这种情况(True或假)。 Flask 将此布尔值解释为 WSGI 应用程序并尝试调用它,从而导致错误。

要解决此问题,请确保视图函数返回受支持的数据类型之一。在给定的代码示例中,视图在用户成功登录后返回 True:

@app.route('/login', methods=['POST'])
def login():
    username = request.form['username']
    user = User.query.filter_by(username=username).first()

    if user:
        login_user(user)
        return True

    return False
登录后复制

要纠正此问题,它应该返回字符串、响应对象或元组,而不是布尔值:

@app.route('/login', methods=['POST'])
def login():
    username = request.form['username']
    user = User.query.filter_by(username=username).first()

    if user:
        login_user(user)
        return redirect(url_for('home'))  # Return a string or redirect

    return Response("Login failed", status=401)  # Return a Response object
登录后复制

以上是为什么我的 Flask 视图返回'TypeError: 'bool' object is not callable”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板