我不知道为什么在将变量发送到 HTML 时显示 UnboundLocalError。我尝试了类似的 Stackoverflow 解决方案,但没有解决

I don't know why while sending the variable to HTML it is showing UnboundLocalError. I tried similar Stackoverflow solution but it didn't solve

我不知道为什么在将变量发送到 HTML 时显示 UnboundLocalError: local variable 'prdct' referenced before assignment.

当我不从 render_template() 方法传递任何值时,代码 运行 没问题。我使用 print(prdct) 打印的输出也工作正常。

以下是我的代码:

您的代码在执行函数时不会在所有情况下都创建 prdct。只有当您使用 request.Method = "POST" 输入时,它才会起作用。

你不能无条件地 return 一些可能尚未创建的东西:

def test():
    if False:
        k = 42

    return k


test()

将在您的代码中引发不同的错误 - 原因相似。

不满足 if 条件,从未创建 k = 42 - 因此您不能 return 在所有可能的情况下。

您的问题是,如果 predict.py,其中的任何函数被调用时使用 POST 以外的 http 请求,则 prdct 变量未定义。

您有两个选择:

  1. 在比 POST 方法条件更高的范围内定义 prdct = None

  2. 将特定的 return 语句移到 POST 方法条件块中