在Flask中,可以使用AJAX技术来实现动态更新模板。具体步骤如下:
下面是一个简单的示例代码:
前端页面(HTML模板):
<div id="post">
<h2>{{ post.title }}</h2>
<p>{{ post.content }}</p>
<p>Likes: <span id="likes">{{ post.likes }}</span></p>
<button id="like-btn">Like</button>
</div>
<script>
$(document).ready(function() {
$("#like-btn").click(function() {
$.ajax({
url: "/like",
type: "POST",
success: function(data) {
// 更新喜欢数
$("#likes").text(data.likes);
}
});
});
});
</script>
后端代码(Flask路由):
from flask import Flask, jsonify, request
app = Flask(__name__)
# 假设有一个名为posts的数据库表,包含title、content和likes字段
@app.route("/like", methods=["POST"])
def like_post():
# 获取当前帖子的喜欢数
post_id = request.form.get("post_id")
post = Post.query.get(post_id)
likes = post.likes
# 更新喜欢数
post.likes = likes + 1
db.session.commit()
# 返回更新后的喜欢数
return jsonify({"likes": post.likes})
if __name__ == "__main__":
app.run()
在这个示例中,当用户点击喜欢按钮时,前端会发送一个POST请求到后端的/like
路由。后端接收到请求后,会更新数据库中对应帖子的喜欢数,并返回更新后的喜欢数给前端。前端接收到后端返回的数据后,会更新页面中的喜欢数显示。
请注意,这只是一个简单的示例,实际应用中可能需要根据具体情况进行适当的修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云