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.
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>
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>
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.
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>
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!