Flask View Raising TypeError: 'bool' Object Not Callable
Beim Entwickeln von Flask-Anwendungen kann ein Fehler mit der Meldung „TypeError: ' auftreten. bool‘-Objekt ist nicht aufrufbar.“ Dies tritt normalerweise auf, wenn eine Ansichtsfunktion einen booleschen Wert zurückgibt, der keine gültige Antwort in Flask ist.
Flask-Antworten verstehen
Flask-Ansichten können eine davon zurückgeben Folgende Arten von Antworten:
Das Problem
Im bereitgestellten Fall gibt die Ansichtsfunktion „True“ zurück, wenn sich ein Benutzer erfolgreich anmeldet. Ein boolescher Wert ist jedoch kein gültiger Antworttyp im Kolben. Infolgedessen interpretiert Flask den zurückgegebenen Wert als WSGI-Anwendung, was zu dem Fehler führt.
Lösung
Um dieses Problem zu beheben, stellen Sie sicher, dass Ihre Ansichtsfunktion einen zurückgibt der akzeptierten Antworttypen. In diesem Fall können Sie einfach ein Response-Objekt zurückgeben, um eine erfolgreiche Anmeldung anzuzeigen:
from flask import 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 Response(status=200) # Successful login return Response(status=401) # Unsuccessful login
Durch die Rückgabe eines Response-Objekts mit dem entsprechenden Statuscode können Sie den TypeError beheben und sicherstellen, dass Ihre Ansichtsfunktion den Benutzer verarbeitet Melden Sie sich korrekt an.
Das obige ist der detaillierte Inhalt vonWarum löst meine Flask-Ansicht einen TypeError aus: „Bool'-Objekt ist nicht aufrufbar?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!