将烧瓶文本框值传递给无限循环

时间:2021-07-18 18:40:18

标签: python multithreading flask textbox

我正在运行一个 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'])

0 个答案:

没有答案