2 回答

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊
您pk應(yīng)該是int。您還在您的網(wǎng)址中指定為 int,但在視圖中沒(méi)有指定。
post = get_object_or_404(Post, id=pk )
if request.method == "POST":
post.likes.add(request.user)
return redirect('post_detail', post.pk)
要顯示帖子的總贊數(shù),您需要添加property這樣的裝飾器
@property
def total_likes(self):
return self.likes.count()
現(xiàn)在在詳細(xì)信息模板{{post.total_likes}}中將顯示結(jié)果。
無(wú)需編寫(xiě)get_context_data方法來(lái)顯示 total_likes。

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
第一個(gè)問(wèn)題:你將 pk 傳遞給重定向,它是一個(gè)整數(shù)(根據(jù)你的 urls.py)到 url: args=[str(pk)]
。如果你想重定向到一個(gè) url,/nutriscore/exemple-1
你應(yīng)該傳遞 slug 而不是 pk(我猜這是 id)并相應(yīng)地調(diào)整你的 urls.py。
第二個(gè)問(wèn)題:你確定那個(gè)帖子有一個(gè)名為 pk 的屬性/鍵嗎?這不應(yīng)該是id嗎?喜歡:
<form action="{% url 'like_post' post.id %}" method="POST">{% csrf_token %}<button type="submit" name="post_id" value="{{ post.id }}" class="cherry-likes"><img src="static/img/like.png" width="30px" height="30px" class="" title=""></button></form>
添加回答
舉報(bào)