我正在运行一个 Flask 服务器,带有一个文本框输入和一个 while 循环(在不同的线程中)。我想将输入值从文本框传递给 while 循环。
这是.py代码:
from flask import Flask, render_template, request
import thread
import time
app = Flask(__name__)
def main():
while True:
time.sleep(5)
print "var = "+str(var)
@app.route("/")
def index():
templateData = {
'var': var
}
return render_template('index.html', **templateData)
@app.route('/', methods=['POST'])
def post():
global var
var = 0
var = int(request.form['var'])
return str("var: " + str(var))
if __name__ == "__main__":
thread.start_new_thread(main, ())
thread.start_new_thread(post, ())
app.run(host='0.0.0.0', port=8083, debug=True)
这是 .html 代码:
<!DOCTYPE html>
<head>
<title>POST</title>
</head>
<body>
<form method="POST">
var:<br>
<input name="var">
<br><br>
Current: {{ var }} <br><br>
<input type="submit">
</form>
</body>
</html>
我不知道获取 while 循环值的正确方法是什么,因为我在循环中得到了混合信号。例如,如果我在文本框中写 3,我会得到...
var = 0
var = 3
var = 0
var = 3
var = 0
var = 3
var = 0
var = 3
...在while循环中,因为它首先读取var = 0然后var = int(request.form['var'])