Во-первых, вам нужно настроить форму для отправки данных на ваш домашний маршрут в Html.
т.е.
<form action="/" method="POST">
<!-- input you want to work with -->
<input type="text" name="number">
<!-- submit button -->
<input type="submit" value="SUBMIT">
</form>
Убедитесь, что метод POST
Затем необходимо составить маршрут flask для приема опубликованных данных.
Убедитесь, что он принимает оба значения GET и POST метод.
@app.route('/', methods=['GET', 'POST'])
Необходимо запрашивать данные формы только в том случае, если метод POST .
if request.method == 'POST':
number = request.form['number']
# do something with it
result = number
else:
result = None
return render_template('index.html', result=result)
Потому что:
- Вы хотите, чтобы браузер загружал контент только при использовании метода GET .
- Вы не можете получить доступ к форме в GET запрос, и, следовательно, это приведет к ошибке.
Затем поместите полученное значение в переменную (в моем случае result ) и передайте его в файл HTML.
т.е. (Полный python код)
@app.route('/', methods=['GET', 'POST'])
def home():
if request.method == 'POST':
result = request.form['number']
else:
result = None
return render_template('index.html', result=result)
Затем в вашем файле HTML проверьте переменную, в которой ваше значение. И если значение существует, отобразите его на странице.
т.е.
{% if result %}
<p>Your no. is {{ result }}</p>
{% endif %}
Надеюсь, это поможет. Прокомментируйте, если у вас есть какие-либо сомнения. 10
Также может помочь: Методы HTTP