我正在尝试制作一个网络应用程序,就像一个微型推文。帖子从数据库中提取出来,我想为每个帖子设置一个“投票”按钮,如下图所示。有很多按钮和数据库更新的瓶子
每个帖子都有一个id
,author
,body
和likes
财产。当点击投票表决时,likes
属性需要更新。
我的问题是如何确定哪个按钮被点击。在这种情况下,对于route()
函数和html模板,什么是一个好的策略?
我正在考虑为每个按钮添加一个名称,并在名称中加上post.id
,然后检查是否有request
。但帖子的数量在手前不得而知,应该怎么写request
检查route()
函数?
我现在的模板是如下
<table class="table table-striped">
{% for post in posts %}
<tr>
<td> {{ post.id }} </td>
<td> <img src="{{ post.author.avatar(50) }}"> </td>
<td> <b>{{ post.body }}</b> </td>
<td> <button type="button" name='{{'up.'+ post.id|string}}' class="btn btn-default">
<span class="glyphicon glyphicon-thumbs-up" aria-hidden="true"></span>
</button>
{{ post.likes}} </td>
</tr>
{% endfor %}
</table>
和当前route()
是这样
@bbs.route('/', methods=['GET', 'POST'])
def index():
posts = Post.query.all()
return render_template('bbs/index.html', posts=posts)
感谢您的答复。由于缺乏JavaScript知识,我仍然在为此苦苦挣扎。在我的'upvote'路由函数中,我'返回json.dumps({'likes':post.likes})''。在JavaScript中,'alert(data)'似乎显示正确的字典,但是当我使用'data.likes'时,它给出了'undefined'。我做错了什么? – nos
尝试:'data ['likes']' –