我的 Flask/Python 程序遇到以下问题。代码片段如下:
import flask as fk
import math
import easygui as gui
@app.route('/')
def index():
return fk.render_template('template.html')
@app.route('/results', methods=['POST', 'GET'])
def result_calc():
if fk.request.form['price_gas'] != '':
try:
if not math.isnan(float(fk.request.form['price_gas'])):
gas_price = float(fk.request.form['price_gas'])
else:
raise ValueError
except ValueError:
gas_price = float(gui.enterbox("Please enter a valid input!", "Error..."))
else:
gas_price = 0
return fk.render_template('results.html', price_tag=gas_price)
如果相应 HTML 表单中“price_gas”输入字段中的输入是有效数字,则其行为将按照我的要求进行。如果该字段为空,也是如此。
但是,如果我没有可以转换为浮点数的字符串,例如“0..15”而不是“0.15”,它仅在程序第一次运行时有效。然后我得到输入提示并可以插入一个新字符串,例如“0.15”。然后程序的其余部分运行良好,并且程序的结果显示在页面“results.html”上。当我从结果页面导航回输入网站上的 HTML 输入表单并重新运行该程序时,我得到了
Tcl_AsyncDelete: async handler deleted by the wrong thread
在我看来,一旦调用输入字段,它就会创建一些在后台运行的东西,在第二轮中会阻止代码的正确执行。
预先感谢您了解如何解决此问题!
遇到类似的事情。你找到解决办法了吗?