首頁 >後端開發 >Python教學 >為什麼我的 Flask 視圖回傳「TypeError: 'bool' object is not callable」?

為什麼我的 Flask 視圖回傳「TypeError: 'bool' object is not callable」?

Barbara Streisand
Barbara Streisand原創
2024-12-16 06:54:16200瀏覽

Why Does My Flask View Return

Flask 視圖中的「TypeError: 'bool' object is not callable」:故障排除

簡介簡介🎜> 在調試觸發500 狀態的Flask在視圖時,開發者可能會遇到神秘錯誤「TypeError:『bool』物件不可呼叫。」本文深入探討了此錯誤的原因並提供了解決方案。

理解錯誤

Flask 視圖可以傳回各種類型,包括字串、Flask Response 物件、元組(字串、狀態、標頭)和WSGI 應用程式.但是,如果傳回的值與任何預期類型都不匹配,Flask 會將其解釋為 WSGI 應用程式。

錯誤原因

在提供的範例中,視圖傳回 True 表示登入成功。但是,布林值 True 不是有效的 WSGI 應用程式。因此,Flask 假定它是一個WSGI 應用程序並嘗試調用它,導致錯誤“TypeError: 'bool' object is not callable.”

解決方案

要要解決此問題,視圖必須傳回Flask 文件中指定的有效回應類型之一:關於回應。在這種情況下,傳回狀態碼為 200 的 Response 物件以及指示登入成功的訊息是合適的。

透過確保視圖傳回有效的回應類型,開發人員可以防止「TypeError」: 'bool' object is not callable」錯誤並提高 Flask 應用程式的可靠性。
@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 Response("Login successful", status=200)

    return Response("Login failed", status=401)

以上是為什麼我的 Flask 視圖回傳「TypeError: 'bool' object is not callable」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn