我有一个Flask应用,当它在localhost上启动时,它会从服务器上的数据库中提取数据。 我的问题是,当此应用程序使用WSGi放置在生产服务器上时,即始终在后台运行,它将在到达数据库时从数据库中提取新数据,还是必须每次都重新启动才能获取新数据。>
答案 0 :(得分:0)
您可以使用JavaScript和JQuery完成此操作:
如果您将此示例作为您的应用程序:
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')
您要做的是将添加到index.html
文件中:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="{{ url_for('static', filename='jquery.js') }}">\x3C/script>')</script>
<script type=text/javascript>
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
</script>
script type=text/javascript>
$(function() {
$('a#calculate').bind('click', function() {
$.getJSON($SCRIPT_ROOT + '/_add_numbers', {
a: $('input[name="a"]').val(),
b: $('input[name="b"]').val()
}, function(data) {
$("#result").text(data.result);
});
return false;
});
});
</script>
<h1>jQuery Example</h1>
<p><input type=text size=5 name=a> +
<input type=text size=5 name=b> =
<span id=result>?</span>
<p><a href=# id=calculate>calculate server side</a>
这只是将AJAX与Falsk结合使用的示例,您可以阅读更多here
我建议您查看以下问题并回答:question
希望这对您有所帮助!