Comment récupérer les valeurs du formulaire soumis dans Flask : pourquoi request.form est-il vide ?

DDD
Libérer: 2024-10-30 03:53:02
original
629 Les gens l'ont consulté

How to Retrieve Submitted Form Values in Flask: Why is request.form Empty?

Transmission et accès aux valeurs de formulaire dans Flask

Lors du développement de fonctionnalités Web, la gestion des soumissions de formulaires est cruciale. Pour faciliter ce processus dans Flask, vous pouvez rencontrer des problèmes lors de la récupération des valeurs du formulaire soumis. Cet article se concentre sur la compréhension de la façon de soumettre des valeurs à partir de formulaires HTML et d'y accéder dans les vues Flask.

Énoncé du problème

Considérez le formulaire HTML suivant :

<code class="html"><form method="POST">
  <input id="my_input" type="text" value="{{ email }}">
  <input id="my_submit" type="submit" value="Submit">
</form></code>
Copier après la connexion

Et un Itinéraire Flask correspondant :

<code class="python">@app.route('/page', methods=['POST', 'GET'])
def get_page():
    if request.method == 'POST':
        print(request.form)  # prints ImmutableMultiDict([])
        print(request.form['my_input'])  # raises 400 error
    return render_template('page.html')</code>
Copier après la connexion

Lors de la soumission du formulaire, vous découvrirez peut-être que request.form est vide. Tenter de récupérer la valeur de my_input entraîne directement une erreur 400.

Solution

Le nœud du problème réside dans l'absence d'attribut de nom dans les champs de saisie. Pour que Flask traite correctement le formulaire, chaque entrée doit avoir un attribut de nom qui correspond à la clé souhaitée dans request.form. Dans ce cas, la modification suivante devrait résoudre le problème :

<code class="html"><input name="my_input" id="my_input" type="text" value="{{ email }}"></code>
Copier après la connexion

En ajoutant l'attribut name, la valeur d'entrée sera soumise au serveur avec une clé de "my_input". Par conséquent, vous pouvez récupérer de manière transparente la valeur dans votre vue Flask.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!