Получите и отправьте данные в запросе Flask - PullRequest
0 голосов
/ 10 апреля 2020

Здравствуйте и спасибо заранее за любую помощь. Я пытаюсь настроить веб-приложение ReactJS & Flask, но у меня возникают проблемы с получением данных в Flask, я использую Insomnia для проверки отправки данных на Flask, и запрос POST возвращает код 200, но я продолжаю получать сообщение об ошибке на экране печати ниже, UnboundLocalError: локальная переменная 'text' указана перед присваиванием . Строка не передается в класс TTS (text-to-speech) для обработки, когда я использую прямое назначение строк в кодированном коде, приведенном ниже, импорт работает нормально.

Я пытался отправить данные с 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

ошибка в журнале консоли

1 Ответ

0 голосов
/ 10 апреля 2020

Попробуйте это ниже:

@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 и присвоить ему значение по умолчанию.

...