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

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

DDD
DDD原創
2024-12-18 03:42:20869瀏覽

Why Does My Flask View Return a

理解 TypeError: 'bool' 物件在 Flask 視圖中無法呼叫

在 Flask 中除錯回傳 500狀態的視圖時錯誤“TypeError:'bool'物件無法呼叫”,了解視圖的預期返回值至關重要

在Flask 中,視圖應傳回以下內容之一:

  • 字串
  • 回應物件(或子類別)
  • A (string, status, headers) 或(string, status) 的元組
  • 有效的WSGI application

當視圖傳回布林值(例如True 或False)時,會出現此問題,這會被誤認為是WSGI 應用程式。 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 flask.redirect(flask.url_for('home'))

    return flask.render_template('login.html')

登入視圖現在在登入成功(重定向到主頁)時返回正確的 Response 對象,或在登入失敗時呈現模板。透過遵循正確的傳回類型,您可以避免此錯誤並確保 Flask 視圖的正確行為。

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

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