Heim >Backend-Entwicklung >Python-Tutorial >Warum gibt meine Flask-Ansicht einen „TypeError: ‚bool'-Objekt ist nicht aufrufbar' zurück?

Warum gibt meine Flask-Ansicht einen „TypeError: ‚bool'-Objekt ist nicht aufrufbar' zurück?

Linda Hamilton
Linda HamiltonOriginal
2024-12-10 06:02:10931Durchsuche

Why Does My Flask View Return a `TypeError: 'bool' object is not callable`?

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!

Stellungnahme:
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