ホームページ >バックエンド開発 >Python チュートリアル >Flask ビューが「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
これを修正するには、ブール値の代わりに文字列、Response オブジェクト、またはタプルを返す必要があります:
@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 中国語 Web サイトの他の関連記事を参照してください。