Heim >Backend-Entwicklung >Python-Tutorial >Warum gibt meine Flask-Ansicht einen „TypeError: ‚bool'-Objekt ist nicht aufrufbar' zurück?
Flask View TypeError: 'bool' Object Not Callable
In Flask wird von Ansichten erwartet, dass sie bestimmte Datentypen zurückgeben, nämlich: Zeichenfolgen, Antwortobjekte, Tupel aus Zeichenfolgen und Statuscodes oder gültige WSGI-Anwendungen. Die Rückgabe eines booleschen Werts kann jedoch zu folgendem Fehler führen: TypeError: 'bool' object is not callable.
Dies tritt auf, wenn die Ansichtsfunktion, anstatt einen der oben genannten Datentypen zurückzugeben, einen booleschen Wert (True) zurückgibt oder Falsch). Flask interpretiert diesen booleschen Wert als WSGI-Anwendung und versucht, ihn aufzurufen, was zu dem Fehler führt.
Um dieses Problem zu beheben, stellen Sie sicher, dass die Ansichtsfunktion einen der unterstützten Datentypen zurückgibt. Im angegebenen Codebeispiel gibt die Ansicht „True“ zurück, nachdem sich ein Benutzer erfolgreich angemeldet hat:
@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
Um dies zu beheben, sollte anstelle des booleschen Werts eine Zeichenfolge, ein Antwortobjekt oder ein Tupel zurückgegeben werden:
@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
Das obige ist der detaillierte Inhalt vonWarum gibt meine Flask-Ansicht einen „TypeError: ‚bool'-Objekt ist nicht aufrufbar' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!