我在名為 requests.html 的 html 模板上有 2 個單獨的表單,一個用于輸入公司名稱,另一個用于輸入關鍵字,如下所示。 <form method="POST"> <p>Enter Company Name:</p> <p><input type="text" name="company_name"></p> <p><input type="submit" value="submit"></p> </form> <p> Name: {{ name }} </p> <form method="POST"> <p>Enter Keywords:</p> <p><input type="text" name="keywords"></p> <p><input type="submit" value="submit"></p> </form> <p> Keywords: {{ keywords }}</p>我希望能夠在每個表單下方看到的段落標簽中顯示表單輸入。下面是相關的燒瓶代碼: @app.route('/queries/', methods=['GET', 'POST']) def queries(): if request.method == 'POST': if request.form['company_name']: name = request.form['company_name'] return render_template('queries.html', name=name) elif request.form['keywords']: keywords = request.form['keywords'] return render_template('queries.html', keywords=keywords) return render_template('queries.html')我的問題是,首先,輸入的公司名稱確實顯示良好,其中 {{ name }} 元素應有的樣子,但在輸入關鍵字時我收到“錯誤請求”錯誤。其次,我之前確實使兩個輸入都有效,但是當我使用一種表單時,它會擦除另一種表單中顯示的數據,例如,在已經輸入并顯示公司名稱后輸入關鍵字時,該關鍵字將出現在{{關鍵字 }} 元素,但公司名稱會消失。經過一些研究后,我可能需要使用 AJAX 來保持所有元素的顯示,但不確定我是否在尋找正確的方向??磥磉@應該是一個比較簡單的問題,請幫忙解決!預先感謝您的任何回復。
1 回答

Qyouu
TA貢獻1786條經驗 獲得超11個贊
代替:
request.form['company_name'] request.form['keywords']
用這個 :
request.form.get("company_name") request.form.get("keywords")
如果表單輸入中沒有值,Flask 會拋出錯誤。使用 form.get 燒瓶將嘗試獲取值,如果沒有值則進行處理。
- 1 回答
- 0 關注
- 135 瀏覽
添加回答
舉報
0/150
提交
取消