0

您好,提前感谢您的帮助。我正在尝试设置一个 ReactJS 和 Flask Web 应用程序,但我无法将数据导入 Flask,我正在使用 Insomnia 测试将数据发送到 Flask,并且 POST 请求返回代码 200,但我继续获取下面的打印屏幕上出现错误,UnboundLocalError: local variable 'text' referenced before assignment。字符串不会传递给 TTS(文本到语音)类进行处理,当我对下面注释代码中的字符串使用直接分配时,导入工作正常。

我尝试使用 JSON 发送数据,现在我尝试使用表单格式,它返回相同的错误。

你能帮我看看我的代码吗?

from flask import Flask, render_template, request
import speak

# text = "AI AI minha machadinha !!"
# lang = "pt"

app = Flask(__name__, static_folder="../static/dist", template_folder="../static")
@app.route("/", methods=["GET","POST"])
def index():
    return render_template("index.html")

@app.route("/hello", methods=["GET","POST"])
def hello():
    if request.method == "POST":
        text = request.form["text"]
        lang = request.form["lang"]
        print("passou")
    return speak.get_speak(text,lang)

if __name__ == "__main__":
    app.run()

失眠代码200消息

控制台日志错误

4

1 回答 1

0

在下面试试这个:

@app.route("/hello", methods=["GET","POST"])
def hello():
    text = ''
    if request.method == "POST":
        text = request.form["text"]
        lang = request.form["lang"]
        print("passou")
        return speak.get_speak(text,lang)

这是因为您的文本是在 if 条件内定义的,而您的回报在 if 条件之外。您需要在 if 之上定义它并给它一个默认值。

于 2020-04-10T10:40:18.423 回答