Maison > développement back-end > Tutoriel Python > Pourquoi ma vue Flask génère-t-elle une TypeError : l'objet 'bool' n'est-il pas appelable ?

Pourquoi ma vue Flask génère-t-elle une TypeError : l'objet 'bool' n'est-il pas appelable ?

Patricia Arquette
Libérer: 2024-12-17 07:49:25
original
371 Les gens l'ont consulté

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

Flask View Raising TypeError : 'bool' Object Not Callable

Lors du développement d'applications Flask, vous pouvez rencontrer une erreur indiquant "TypeError: ' bool' n'est pas appelable." Cela se produit généralement lorsqu'une fonction d'affichage renvoie une valeur booléenne, ce qui n'est pas une réponse valide dans Flask.

Comprendre les réponses de Flask View

Les vues Flask peuvent renvoyer l'une des types de réponses suivants :

  • Chaîne
  • Objet de réponse ou sous-classe
  • Tuple de (chaîne, statut, en-têtes) ou (chaîne, statut)
  • Application WSGI valide

Le problème

Dans le cas fourni, la fonction d'affichage renvoie True lorsqu'un utilisateur se connecte avec succès. Cependant, une valeur booléenne n'est pas un type de réponse valide dans Flacon. Par conséquent, Flask interprète la valeur renvoyée comme une application WSGI, ce qui entraîne l'erreur.

Solution

Pour résoudre ce problème, assurez-vous que votre fonction d'affichage renvoie une des types de réponses acceptés. Dans ce cas, vous pouvez simplement renvoyer un objet Response pour indiquer une connexion réussie :

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
Copier après la connexion

En renvoyant un objet Response avec le code d'état approprié, vous pouvez résoudre l'erreur TypeError et vous assurer que votre fonction d'affichage gère l'utilisateur. connectez-vous correctement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal