Maison >développement back-end >Tutoriel Python >Comment puis-je accéder correctement aux données de demande dans mon application Flask ?

Comment puis-je accéder correctement aux données de demande dans mon application Flask ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-23 19:12:21523parcourir

How Do I Properly Access Request Data in My Flask Application?

Accès aux données de requête dans les applications Flask

Lorsque vous travaillez avec des applications Flask, il est souvent nécessaire de récupérer les données envoyées par les clients. Cependant, accéder à ces données peut parfois prêter à confusion, surtout lorsque request.data apparaît vide.

Comprendre les paramètres de requête HTTP

Pour gérer les requêtes HTTP entrantes, Flask fournit plusieurs attributs sur l'objet de requête :

  • request.args : Chaîne de requête paramètres
  • request.form : Données de formulaire provenant de formulaires HTML ou JavaScript
  • request.files : Fichiers téléchargés
  • request.values : arguments et formulaire fusionnés data
  • request.json : données JSON analysées

Accès aux données publiées

Si vous vous attendez à ce que les données soient soumises via un POST requête, il est nécessaire de consulter l'attribut approprié en fonction du contenu de la requête tapez :

  • Formulaires HTML (codés en urlen) : request.form
  • JSON (application/json) : request.json

Dépannage request.data

L'attribut request.data contient généralement le corps brut de la requête, mais il peut être vide si :

  • La requête a un type MIME que Flask ne gère pas.
  • Les données ne sont pas codées en JSON.
  • Les données ne sont pas correctement analysées par Flask.

Exemple

Dans l'extrait de code ci-dessous, il est possible d'accéder aux données du formulaire en utilisant request.form.get ou request.form.getlist :

from flask import request

@app.route('/', methods=['GET', 'POST'])
def parse_request():
    name = request.form.get('name')
    emails = request.form.getlist('emails')
    # Process the data further...

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