私はPython Flaskを使用して、主に動作するWebサーバーをホストしています。私は問題を理解していますが、私はその問題を回避する方法がわかりません。私は、Webサイトが最初に起動したときにテンプレートをレンダリングし、変数 "CurtainCloseTime"に割り当てられた値がないことを、コード内で理解しています。だから私は2つのフォームを私のウェブサイト上で私はカーテンが閉じて、変数名を開くために時間を入力しています。変数 "CCT"はCurtainCloseTimeを意味し、HTMLファイル内の変数です。なぜなら、これをWebページに表示したいからです。ここでPython FlaskとHTMLローカル変数Python(UnboundLocalError)
は、Pythonフラスココード:
@app.route('/', methods=['GET','POST'])
def index():
if request.method == 'POST': #If there is an input from form
CurtainOpenTime = request.form['CurtainOpenTime'] #Assign CurtainOpenTime variable in python to the html CurtainOpenTime variable.
CurtainCloseTime = request.form['CurtainCloseTime'] #Assign CurtainCloseTime variable in python to the html CurtainCloseTime variable.
return render_template('Index.html', CCT=CurtainCloseTime)
'request.method'が' 'POST''に設定されていないとどうなりますか?その場合、何をレンダリングする必要がありますか? –
インデントを修正しました。コピーして貼り付けるのではなく、コードを書き直さなければならなかったからです。 request.method == 'GET'をPOSTに設定しないと、400 Bad Requestエラーが発生します。 – ThePGT
私はあなたがテストを変更するよう提案していませんでした。私は、あなたが "GET"の場合に何が起こるべきかを考えるようにお願いしています。変数 'CurtainCloseTime'は、' 'POST''メソッドリクエストを受け取ったときにのみセットされます。あなたは '' GET''の場合に設定しないので、エラーが発生します。 –