我正在嘗試製作一個網絡應用程序,就像一個微型推文。帖子從數據庫中提取出來,我想爲每個帖子設置一個「投票」按鈕,如下圖所示。有很多按鈕和數據庫更新的瓶子
每個帖子都有一個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']' –