gpt4 book ai didi

python - 在数据从链接操作或表单到 mongodb 集合后更新 Flask 模板的 AJAX

转载 作者:可可西里 更新时间:2023-11-01 09:13:17 25 4
gpt4 key购买 nike

我有一个项目,其中通过 Flask 在浏览器中呈现 mongodb 记录。我还在浏览器中进行了一些交互,允许用户更新数据库中的记录。因此,例如,单击“为我投票”链接,您可以增加对记录的“投票”。该记录的投票结果将显示在“为我投票链接”旁边。

然而,目前我的投票路线看起来像这样,我必须重新加载页面以更新浏览器中的投票计数:

@app.route('/vote_up/<this_record>')
def vote_up(this_record):

vandalisms.update({'_id':bson.objectid.ObjectId(this_record)},
{"$inc" : { "votes": 1 }}, upsert=True)

return redirect("/")

我在这里查看了 jquery 和 flask 的 flask 文档 http://flask.pocoo.org/docs/patterns/jquery/并了解那里发生了什么,但不知道如何将其扩展到我想先更新 mongodb 集合然后重新加载 div 或 span 指定从更新记录呈现的新投票的情况,例如

    <span id='vote_tally'> {{ item.votes }} </span>

我必须做些什么才能包括访问数据库并返回浏览器而无需再次重新加载整个页面?

最佳答案

我所做的是将类似这样的东西挂接到点击事件:

$('#vote_tally').load('/vote_up/3452/');

“ajax”url 返回我要修改的 HTML。

@app.route('/vote_up/<this_record>')
def vote_up(this_record):
if already_voted_for(this_record):
return """<script type="text/javascript">
alert('You can only vote once');
</script>{0}""".format(count_votes_for(this_record))

vandalisms.update({'_id':bson.objectid.ObjectId(this_record)},
{"$inc" : { "votes": 1 }}, upsert=True)

return count_votes_for(this_record)

关于python - 在数据从链接操作或表单到 mongodb 集合后更新 Flask 模板的 AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11589682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com