пытается передать значение из текстового поля в переменную в python с помощью flask - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть простой веб-интерфейс с текстовым полем, и по щелчку я хочу, чтобы все, что находится в этом текстовом поле, было передано в переменную. Как бы я go об этом.

Вот немного моего файла app.py:

input = input('Type headline here')
#MAKING PREDICTIONS BASED ON NEW DATA
predict = model2.predict(input)
print(predict)

#MAKING THE FRONTEND

app = Flask(__name__)
Bootstrap(app)


@app.route('/')
def predict():
    return render_template('index.html')

@app.route('/', methods = ["POST"])
def predict2():
    text = request.form["input"]
    #return render_template('index.html', prediction = predict)
    return text


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

Вот мой файл html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>FAKE NEWS DETECTOR</title>
</head>
<body>
<h1> Enter the news headline to see if its fake or real</h1>

<form method="POST">
        <input name = 'input'>
        <input type = "submit">


</form>
</body>
</html>

Я хочу, чтобы пользовательский ввод был сохранен во входную переменную с другим возвращенным выводом. С настройкой, которую я имею прямо сейчас, я просто получаю сообщение «метод не разрешен, метод не разрешен для запрошенного URL». Как бы я go решил это?

1 Ответ

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

У вас должен быть только один маршрут на URL, и выполните проверку объекта request, чтобы определить, как действовать

@app.route('/', methods=['GET', 'POST'])
def predict():
    if request.method == 'POST':
        # get the form data
        text = request.form['input']
        # do your prediction here
        render_template('index.html', text=text)
    return render_template('index.html')
...