2 回答

TA貢獻1780條經驗 獲得超4個贊
你說 Flask 是一個很好的解決方案是對的,到處都有例子和教程。如果您想要的只是在按下按鈕時運行特定功能并在 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并確保您的 index.html 位于同一目錄中。然后您應該可以訪問http://127.0.0.1/并查看您的頁面加載情況。
這實現了一個添加兩個數字的函數,這可以通過調用http://127.0.0.1/add?a=10&b=20在您的 javascript 中調用。這應該返回{"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 中運行的接口。
編輯:完整的前端示例
https://jsfiddle.net/4bv805L6/

TA貢獻1818條經驗 獲得超8個贊
我非常感謝您的幫助和所花費的時間。但是您的回答并沒有以我需要的方式幫助我。那時我不知道該怎么做,但自從我前段時間想出來(我看了一個 youtube 視頻......)我想我在這里分享我的解決方案(貼兩個字符串):
那是app.py:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/stick', methods=['GET', 'POST'])
def stick():
if request.method == 'POST':
result = request.form['string1'] + request.form['string2']
return render_template('index.html', result=result)
else:
return render_template('index.html')
if __name__ == "__main__":
app.run()
還有那個 index.html(放在文件夾templates中):
<!DOCTYPE html>
<html>
<body>
<h3> Stick two strings </h3>
<form action="{{ url_for('stick') }}" method="post">
<input type="text" name="string1">
<input type="text" name="string2">
<input type="submit" value="Go!">
<p id="result"></p>
</form>
<script>
document.getElementById("result").innerHTML = "{{result}}"
</script>
</body>
</html>
在python app.py的終端類型中,它應該可以工作。
添加回答
舉報