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中文网其他相关文章!