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中文網其他相關文章!