Как в python прописать путь под страницы @app.route при нажатии на кнопку
python
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/hello', methods=['POST'])
def hello():
return jsonify({'message': 'Hello, World!'})
if __name__ == '__main__':
app.run()
В данном примере мы создали два маршрута: один для главной страницы ('/') и один для обработки POST запроса на путь '/hello'.
Теперь перейдем к HTML шаблону страницы, на которой будет располагаться кнопка. Создайте файл 'index.html' в папке 'templates' вашего проекта Flask. Пример содержания файла 'index.html':
html
<!DOCTYPE html>
<html>
<head>
<title>Flask Button Click</title>
</head>
<body>
<button id="myButton">Click me!</button>
<p id="output"></p>
<script>
document.getElementById("myButton").addEventListener("click", function() {
var xhr = new XMLHttpRequest();
xhr.open("POST", "/hello", true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onload = function (e) {
if (xhr.readyState === 4 && xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
document.getElementById("output").innerHTML = response.message;
}
};
xhr.send();
});
</script>
</body>
</html>
В данном HTML файле мы создали кнопку с id "myButton" и блок для вывода результата запроса с id "output". Также мы добавили скрипт на JavaScript, который отправляет POST запрос на сервер при клике на кнопку, обрабатывает ответ и выводит его в блок "output".
Теперь, при запуске приложения Flask и переходе на главную страницу, при нажатии на кнопку "Click me!" будет отправляться POST запрос на путь '/hello' и выводиться ответ "Hello, World!" на странице.
Итак, для прописывания пути к странице с использованием декоратора @app.route при нажатии на кнопку в Flask, необходимо создать соответствующий маршрут в Python коде и обработать AJAX запросы на клиентской стороне с помощью JavaScript.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет