首頁 >後端開發 >Python教學 >當輸入元素缺少「名稱」屬性時,如何在 Flask 檢視中存取表單值?

當輸入元素缺少「名稱」屬性時,如何在 Flask 檢視中存取表單值?

Patricia Arquette
Patricia Arquette原創
2024-10-30 08:15:27422瀏覽

How to Access Form Values in a Flask View When Input Elements Lack

將表單值發佈到Flask 視圖

在Flask 應用程式中,如果出現以下情況,從客戶端提交的HTML 表單存取表單值可能會很困難:表單的輸入元素缺少「name」屬性。

問題:

當提交 HTML 表單時未為其輸入指定「name」屬性時,Flask 將傳回一個空的 request.form 字典。出現這種情況是因為伺服器無法將提交的值與特定的表單欄位關聯起來。

解決方案:

要使 Flask 能夠正確存取表單值,請確保中的每個輸入元素HTML 表單有一個唯一的「name」屬性。此屬性決定用於將提交的值與 Flask 視圖中對應表單欄位關聯起來的鍵。

例如,考慮以下 HTML 表單:

<code class="html"><form method="POST">
  <input id="my_input" type="text" value="{{ email }}">
  <input id="my_submit" type="submit" value="Submit">
</form></code>

在對應的 Flask 視圖中, request.form 字典將為空,因為表單的輸入缺少「name」屬性。要解決此問題,請在輸入元素中新增「name」屬性:

<code class="html"><form method="POST">
  <input name="my_input" id="my_input" type="text" value="{{ email }}">
  <input id="my_submit" type="submit" value="Submit">
</form></code>

有了「name」屬性,Flask 現在可以將提交的值與適當的表單欄位關聯起來。然後,您可以使用視圖中的 request.form 字典存取表單值:

<code class="python">@app.route('/page', methods=['POST', 'GET'])
def get_page():
    if request.method == 'POST':
        print(request.form)  # prints {'my_input': 'value'}
        print(request.form['my_input'])  # prints 'value'
    return render_template('page.html')</code>

以上是當輸入元素缺少「名稱」屬性時,如何在 Flask 檢視中存取表單值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn