Maison >développement back-end >Tutoriel Python >Pourquoi le renvoi d'un booléen à partir d'une vue Flask provoque-t-il une erreur « Objet 'bool' non appelable » ?

Pourquoi le renvoi d'un booléen à partir d'une vue Flask provoque-t-il une erreur « Objet 'bool' non appelable » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-12 19:21:12165parcourir

Why Does Returning a Boolean from a Flask View Cause a

Erreur d'objet 'bool' non appelable dans la vue Flask

Dans Flask, les vues sont censées renvoyer des types spécifiques de valeurs : chaînes, réponse objets, tuples contenant des données de réponse, des codes d'état et des en-têtes, ou des applications WSGI valides. Cependant, un problème survient lorsqu'une vue renvoie une valeur booléenne, entraînant une erreur TypeError: 'bool' object is not callable.

Ce problème provient du fait que Flask vérifie initialement les trois premiers types de retour attendus. . Si aucune ne correspond, il suppose que la valeur de retour est une application WSGI. Si vous renvoyez True dans une vue, Flask la traite comme une application WSGI, ce qui entraîne l'erreur.

Pour résoudre ce problème, les vues doivent respecter les types de retour appropriés tels que spécifiés dans la documentation Flask. Les exemples incluent :

  • Renvoi d'une chaîne : return "Hello world!"
  • Renvoi d'un objet Response : return Response("Hello world!", status=200)
  • Renvoyer un tuple : return ("Hello world!", 200, {"Content-Type": "text/html"})

En suivant ces directives, vous pouvez vous assurer que vos vues Flask renvoient les valeurs attendues et éviter que l'objet 'bool' ne soit pas appelable.

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!

Déclaration:
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