Apabila membangunkan fungsi web, pengendalian penyerahan borang adalah penting. Untuk memudahkan proses ini dalam Flask, anda mungkin menghadapi masalah mendapatkan semula nilai borang yang diserahkan. Artikel ini menumpukan pada pemahaman cara menyerahkan nilai daripada borang HTML dan mengaksesnya dalam paparan Flask.
Pertimbangkan borang HTML berikut:
<code class="html"><form method="POST"> <input id="my_input" type="text" value="{{ email }}"> <input id="my_submit" type="submit" value="Submit"> </form></code>
Dan laluan Flask yang sepadan:
<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>
Apabila menyerahkan borang, anda mungkin mendapati permintaan.borang itu kosong. Percubaan untuk mendapatkan semula nilai untuk my_input secara langsung mengakibatkan ralat 400.
Inti isu terletak pada ketiadaan atribut nama dalam medan input. Untuk Flask memproses borang dengan betul, setiap input harus mempunyai atribut nama yang sepadan dengan kunci yang dikehendaki dalam request.form. Dalam kes ini, pengubahsuaian berikut harus menyelesaikan isu:
<code class="html"><input name="my_input" id="my_input" type="text" value="{{ email }}"></code>
Dengan menambahkan atribut nama, nilai input akan diserahkan kepada pelayan dengan kunci "my_input". Akibatnya, anda boleh mendapatkan semula nilai dalam paparan Flask anda dengan lancar.
Atas ialah kandungan terperinci Cara Mendapatkan Nilai Borang yang Diserahkan dalam Flask: Mengapa request.form Kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!