Фляга - вызов функции Python на событие кнопки onclick функции
Я новичок в Python и Flask. У меня есть фляга веб-приложение с кнопкой. Когда я нажимаю на кнопку, Я хочу, чтобы выполнить метод в Python не метод JavaScript. Как я могу это сделать?
Я видел примеры с Python, где он перенаправляет меня на новую страницу с помощью тега form, как это
<form action="/newPage" method="post">
но я Дон'т хотите, чтобы перенаправить меня на новую страницу. Я просто хочу, чтобы выполнить метод в Python. Я делаю это для малина автомобиль робот Пи. Когда я нажимаю кнопку вперед, я хочу, чтобы запустить метод, чтобы повернуть колеса вперед.
Кнопка HTML код (index.html)
<button name="forwardBtn" onclick="move_forward()">Forward</button>
простой код app.py - move_forward() метод находится здесь
#### App.py code
from flask import Flask, render_template, Response, request, redirect, url_for
app = Flask(__name__)
@app.route("/")
def index():
return render_template('index.html');
def move_forward():
#Moving forward code
print("Moving Forward...")
Я видел подобные вопросы на сайте StackOverflow, но они не'т, кажется, чтобы ответить на мой вопрос или я не могу понять ответ. Если кто-то может предоставить мне простой способ, чтобы вызвать метод Python на событие нажатия кнопки, она будет принята с благодарностью.
Другие вопросы, которые я посмотрел:
--https://stackoverflow.com/questions/30899484/python-flask-calling-functions-using-buttons
--https://stackoverflow.com/questions/40583347/calling-a-python-function-with-a-button
--https://stackoverflow.com/questions/21566649/flask-button-run-python-without-refreshing-page
Вы можете просто сделать это с помощью Аякса... Вот пример, который вызывает функцию на Python, которая печатает Hello без перенаправления или обновить страницу.
В app.py поставить ниже фрагмент кода.
И вашу страницу json.html должен выглядеть как показано ниже.
Здесь при нажатии на кнопку Тест простой в консоли вы можете увидеть"Привет"&; отображается без каких-либо освежающего.
Это звучит, как вы хотите использовать это приложение в качестве пульта дистанционного управления для вашего робота, и один из основных вопросов заключается в том, что вы выиграли'т хотите перезагрузки страницы каждый раз, когда вы совершаете действие, в этом случае, в последней ссылке, размещенной ответ на ваш проблема.
Я думаю, вы может быть непонимание несколько вещей, о склянке. Например, вы можете'т вложить несколько функций в одном маршруте. Вы'повторно не делая набор функций, доступный для конкретного маршрута, вы'вновь определение что сервер будет делать, когда этот маршрут называется.
Имея это в виду, вы могли бы решить вашу проблему с помощью перезагрузки страницы, изменяя свои app.py больше похожи на это:
Затем в HTML, используйте это:
...Для выполнения вашего продвижения вперед код. И включают этот:
... где вы хотите, чтобы двигаться вперед сообщение появится на вашем шаблоне.
Это вызовет страницу, чтобы перезагрузить, что неизбежно без использования AJAX и JavaScript.
index.html (index.html должен быть в папке templates)
test.py