Heim > Backend-Entwicklung > Python-Tutorial > Warum löst meine Flask-Ansicht einen TypeError aus: „Bool'-Objekt ist nicht aufrufbar?

Warum löst meine Flask-Ansicht einen TypeError aus: „Bool'-Objekt ist nicht aufrufbar?

Patricia Arquette
Freigeben: 2024-12-17 07:49:25
Original
371 Leute haben es durchsucht

Why Does My Flask View Raise a TypeError: 'bool' Object is Not Callable?

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:

  • String
  • Antwortobjekt oder Unterklasse
  • Tupel von (Zeichenfolge, Status, Header) oder (Zeichenfolge, Status)
  • Gültige WSGI-Anwendung

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage