Вы правы в том, что Flask является хорошим решением для этого, и везде есть примеры и учебники. Если вам нужно просто запустить указанную функцию c при нажатии кнопки и вернуть что-то в javascript, я приведу краткий пример ниже.
# app.py
from flask import Flask, render_template
from flask import jsonify
app = Flask(__name__)
# Display your index page
@app.route("/")
def index():
return render_template('index.html')
# A function to add two numbers
@app.route("/add")
def add():
a = request.args.get('a')
b = request.args.get('b')
return jsonify({"result": a+b})
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80)
Это может быть запустите с python app.py
и убедитесь, что ваш индекс. html находится в том же каталоге. Тогда вы сможете набрать go до http://127.0.0.1/ и увидеть загрузку вашей страницы.
Это реализует функцию, которая добавляет два числа, это можно вызвать в вашем javascript с помощью звонить http://127.0.0.1/add?a=10&b=20. Это должно затем вернуть {"result": 30}
.
Вы можете получить это в своем javascript, используя код ниже и поместить этот код в свои кнопки при обратном вызове клика.
let first = 10;
let second = 20;
fetch('http://127.0.0.1/add?a='+first+'&b='+second)
.then((response) => {
return response.json();
})
.then((myJson) => {
console.log("When I add "+first+" and "+second+" I get: " myJson.result);
});
Это должно быть базовые основы, но как только вы можете отправить данные в Flask и получить данные обратно, у вас теперь есть интерфейс для запуска вещей в Python.
Редактировать: Полный пример Front-end
https://jsfiddle.net/4bv805L6/