我是python和Flask的新手.我有一个带按钮的Flask Web App.当我点击按钮时,我想执行python方法而不是Javascript方法.我怎样才能做到这一点?
我见过python的例子,它使用像这样的表单标签将我重定向到一个新页面
<form action="/newPage" method="post">
Run Code Online (Sandbox Code Playgroud)
但我不希望它将我重定向到新页面.我只是想让它执行python方法. 我正在为Raspberry Pi机器人车做这个.当我按下前进按钮时,我希望它运行方法来向前转动车轮.
按钮HTML代码(index.html)
<button name="forwardBtn" onclick="move_forward()">Forward</button>
Run Code Online (Sandbox Code Playgroud)
简单的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...")
Run Code Online (Sandbox Code Playgroud)
我在Stackoverflow上看到了类似的问题,但它们似乎没有回答我的问题,或者我无法理解答案.如果有人可以请给我一个简单的方法来在按钮点击事件上调用Python方法,我们将不胜感激.
我看过的其他问题:
我非常了解 Python,但我对网络内容和 JavaScript 还是陌生的。我在网站 (Flask) 上找到了一篇关于从按钮调用 python 函数的帖子。
我想执行以下操作: 我想向 HTML 表中添加一个新行。数据将来自 Python。我已经发现刷新站点并不是一个好方法,而是应该使用 JavaScript。假设我有以下 HTML 代码:
<table class="table" id="myTable">
<thead>
<tr>
<th colspan="2">This is a table</th>
</tr>
</thead>
<tbody>
<tr>
<td>entry 1</td>
<td>entry 2</td>
</tr>
</tbody>
</table>
<script src="js/scripts.js"></script>
Run Code Online (Sandbox Code Playgroud)
在scripts.js中,我有以下功能(来自链接的帖子):
function appendRow(table_id) {
var table_ref = document.getElementById(table_id).getElementsByTagName('tbody')[0];
var new_row = table_ref.insertRow(table_ref.rows.length);
var new_cell = new_row.insertCell(0);
var new_text = document.createTextNode('New row');
new_cell.appendChild(new_text);
}
Run Code Online (Sandbox Code Playgroud)
现在忽略函数如何工作的细节/可以优化什么等。我真正的问题是:如何从 Python/flask 调用这个函数?
另外:如何将数据(比如 JSON 结构)传递给 JavaScript 函数?
提前谢谢了!