当我按下这两个<input>
时,Led
不会在页面上更新。
.py:
from flask import Flask, request, render_template
app = Flask(__name__)
default_val = True
@app.route('/switch_led', methods=['GET', 'POST'])
def led_handler():
on = request.form.get('ON', default_val)
off = request.form.get('OFF', default_val)
if on:
Led = 'ON'
elif off:
Led = 'Not ON'
return render_template('index.html', Led=Led)
index.html:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<h1>{{ Led }}</h1>
<form action="/switch_led" method="POST">
<p><input type="submit" name="btnled" value="ON"></p>
<p><input type="submit" name="btnled" value="OFF"></p>
</form>
</body>
</html>
感谢您的帮助,谢谢!
答案 0 :(得分:0)
仔细观察:
default_val = True # this is important!
...
on = request.form.get('ON', default_val)
off = request.form.get('OFF', default_val)
if on:
Led = 'ON'
因此,当您单击“关闭”按钮时,form.get('ON', default_val)
将无法找到“打开”切换,而是返回默认值...等于True
!
您检查的第一个条件是if on:
,但是根据上面的逻辑on
总是 True
,因此您的LED将始终保持点亮状态。 elif
条件并不重要,因为第一个条件始终满足。