Flask View TypeError : 'bool' Object Not Callable
Dans Flask, les vues sont censées renvoyer des types de données spécifiques, à savoir : des chaînes, Objets de réponse, tuples de chaînes et codes d'état, ou applications WSGI valides. Cependant, renvoyer une valeur booléenne peut conduire à l'erreur : TypeError : l'objet 'bool' n'est pas appelable.
Cela se produit lorsque la fonction d'affichage, au lieu de renvoyer l'un des types de données susmentionnés, renvoie un booléen (True ou Faux). Flask interprète ce booléen comme une application WSGI et tente de l'appeler, ce qui entraîne l'erreur.
Pour résoudre ce problème, assurez-vous que la fonction d'affichage renvoie l'un des types de données pris en charge. Dans l'exemple de code donné, la vue renvoie True après avoir connecté avec succès un utilisateur :
@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
Pour remédier à cela, elle doit renvoyer une chaîne, un objet Response ou un tuple au lieu du booléen :
@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
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!