-1
私は新しく、数時間かけてFlask for Python 3.5でフォームを設定しようとしました。ユーザーが温度設定値を入力して[送信]ボタンをクリックし、その値を変数に保存できるようにします。 私はテンプレートファイルにこのコードを持っているがindex.html
と呼ばれる:Flaskでの基本的なフォームHTTP 400 - Python 3.5の原因
<html>
<body>
<p><font size="6">Jewell Hot-Tub Controller</font>
<br>
<font size="4">Water Temperature: {{water_temp}}</p>
<br>
<font size="4">Set Point: {{set_point}}</p>
<br>
<font size="4">Enter New Set Point:</p>
<form class="form-newtemp" method="get" action="/ChangeTemp">
<input type="text" id="new_sp" name="new_sp" size="5" placeholder="New Temp." required>
<input id="1submit" type="submit">
</form>
</body>
</html>
と「flask-test.py」ファイルでこのコード:
from flask import Flask, render_template, request
app = Flask(__name__)
app.debug = True
@app.route('/')
def index():
return render_template('index.html', water_temp='12345')
@app.route('/ChangeTemp', methods=['GET'])
def process():
new = request.form['new_sp']
return 'New set point is:' + new
textbox
に「27」を入力すると、ブラウザを送信しますで400 Bad Request
のページへ:
http://127.0.0.1:5000/ChangeTemp?new_sp=27
なぜこれが値を返すのではなく、不正な要求エラーを変更するのですか?私が見たチュートリアルではPOST
を使用しましたが、GET
を使用しましたが、これには別の構文が必要ですか? また、何かが乱雑であるか間違っているかどうかを教えてください。 ありがとうございました!
編集:私も "request.form.get( 'new-sp'、new)"を試みました。これにより500の内部サーバーエラーが発生します。
外観:
、その後
か、あなたのテンプレートを変更しないで行くとすることができます:私は、最速の方法があると思いますそれを変更し、その変更の準備はできていません。フォームを送信するためにフォームを編集し、 'POST'メソッドを取得するためのURLを使用するか、またはURLに必要な編集を追加します。 – senaps
申し訳ありませんが分かりません。私のためにそれを黙らせてもらえますか? – flyoffacliff
なぜこれが投票されたのですか? – flyoffacliff