0
我期待通過點擊我的網頁上的HTML鏈接來處理python腳本。這裏是JavaScript我到目前爲止處理click:Python瓶Web應用程序將不會得到用戶輸入
<script type="text/javascript">
var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};</script>
<script type="text/javascript">
$(function() {
var submit_form = function(e) {
$.getJSON($SCRIPT_ROOT + '/_add_numbers', {
a: $('input[name="a"]').val(),
b: $('input[name="b"]').val()
}, function(data) {
$('#result').text(data.result);
$('input[name=a]').focus().select();
});
return false;
};
$('a#calculate').bind('click', submit_form);
$('input[name=a]').focus();
});
</script>
而且下面是Python腳本我有,它採用瓶獲得相應的用戶輸入:
import os
from flask import Flask, jsonify, render_template, request
app = Flask(__name__)
@app.route('/_add_numbers')
def add_numbers():
a = request.args.get('a', 0, type=int)
b = request.args.get('b', 0, type=int)
return jsonify(result=a + b)
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
port = int(os.getenv('PORT', 8080))
host = os.getenv('IP', '0.0.0.0')
app.run(port=port, host=host)
的HTML代碼沒有按」 t因爲它在大括號上返回一個錯誤,所以與行var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }},
一樣。當我用我的應用程序的根URL替換它時,我似乎無法讓我的網頁實際更新python腳本的結果。有什麼建議麼?
我使用雲9作爲我的IDE,它使用Apache託管。我對Javascript和Flask都很陌生,我真的希望得到這個基本的應用程序,所以我可以繼續學習!
所以你告訴'{{request.script_root | tojson |安全}};'這會導致問題? –
您的JavaScript代碼是在JavaScript文件還是Jinja模板中?靜態內的文件按原樣提供。您需要在模板中定義'$ SCRIPT_ROOT'。 – dirn