У меня есть страница html, пользовательская. html и сценарий python, test.py (оба скриншота ниже). На странице html есть только кнопка, которая должна запускать скрипт python для печати строки (в моем следующем скрипте python я бы хотел, чтобы он делал больше, но это моя отправная точка).
В инструментах разработчика Chrome, когда я нажимаю кнопку, я получаю ошибку GET 404, инициированную Jquery. Будем очень благодарны за любые советы по успешной активации сценария python с моей кнопки html.
Мой скрипт test.py просто
print("Successful line print")
Вот мой заказ. html документ
<code><!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Page Title</title>
<link rel="stylesheet" type="text/css" href="../static/css/style2.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<pre>
Триггер Python функция goPython () {$. ajax ({url: "../folder/test.py", context: document.body}). Done (function () {alert ('закончен python сценарий') ) ;;}); }
РЕДАКТИРОВАТЬ: я добавляю код в мой скрипт main.py, необходимый для Google App Engine для обработки URL-вызовов и импортировать Flask.
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route("/")
def index():
return render_template('index.html')
@app.route("/learn.html")
def learn():
return render_template('learn.html')
@app.route("/custom.html")
def custom():
return render_template('custom.html')
if __name__ == "__main__":
app.run()
РЕДАКТИРОВАТЬ 2, после попытки ответа @Dustin Ingram:
Вот новый код моего пользовательского. html
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Page Title</title>
<link rel="stylesheet" type="text/css" href="../static/css/style2.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<div>
<div>
<button style="text-align: center; margin-bottom: 150px" class="search-btn" type="button" value=" Run Script " onclick="goPython()">Click Here
<script>
function goPython() {
$.ajax({
url: "/trigger-python",
context: document.body
}).done(function() {
alert('finished python script');;
});
}
</script>
</button>
</div>
</div>
</body>
</html>
И я создал простой файл test.py, чтобы проверить возможность нажатия кнопки html для активации сценария python
from flask import Flask
app = Flask(__name__)
@app.route("/trigger-python")
def print_something():
print("Successful line print")
return 'OK'
print_something()
if __name__ == '__main__':
app.run(host='127.0.0.1', port=8080, debug=True)
После исправления URL-адреса, вызываемого в AJAX, я я все еще получаю ту же ошибку 404 при нажатии кнопки. Ниже приведен обновленный скриншот Chrome Developer Tool.