在Flask中,可以使用JavaScript和AJAX来实现在不刷新页面的情况下自动重新加载Jinja2数据。下面是一种实现方式:
<script src="https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
setInterval(function() {
$.ajax({
url: '/get_updated_data', // 后端接口的URL
type: 'GET',
success: function(data) {
// 更新页面上的内容
$('#data-container').html(data);
}
});
}, 5000); // 每隔5秒钟发送一次请求
});
</script>
from flask import Flask, render_template, jsonify
app = Flask(__name__)
@app.route('/get_updated_data', methods=['GET'])
def get_updated_data():
# 获取更新的数据
updated_data = ...
# 返回更新的数据
return jsonify(updated_data)
if __name__ == '__main__':
app.run()
在上述代码中,get_updated_data
路由处理前端发送的GET请求,并返回更新的数据。你需要根据实际情况编写获取更新数据的逻辑。
需要注意的是,上述代码中的# 获取更新的数据
部分需要根据具体业务逻辑进行实现。你可以从数据库中获取最新数据,或者通过其他方式获取更新的数据。
这种方式可以实现在不刷新页面的情况下自动重新加载Flask中的Jinja2数据。每隔一定时间,前端页面会发送异步请求到后端,获取最新的数据,并更新页面上的内容。
领取专属 10元无门槛券
手把手带您无忧上云