Я изучаю Django, делая сайт новостной ленты для практики.На моей странице новостной ленты я хочу отобразить количество лайков в сообщении на кнопке лайка.См. Два блока кода ниже -
- views.py - Здесь я поместил все свои сообщения в all_posts, а затем просмотрел их, чтобы получить общее количество лайков в этом сообщении отa Таблица Likes в модели (если есть лучший способ, пожалуйста, предложите) в словарь лайков.
all_posts = NewsFeed.objects.all().order_by('time').reverse()
likes = {}
for post in all_posts:
likes_count = Likes.objects.filter(newsfeed = post).count()
likes[post.id] = likes_count
form = StatusForm()
context = {
'name': name,
'all_posts': all_posts,
'statusForm': form,
'likes': likes,
}
index.html - Здесь я хочу отобразить все сообщения и кнопку «Мне нравится» для каждого сообщения, которая также отображает количество лайков в сообщении.Когда я вручную пытаюсь получить доступ к количеству лайков {{likes.4}}, он отображает правильный счет для четвертого статуса Like (1), но когда я пытаюсь получить доступ к нему как {{likes.post_id}}, он ничего не отображает Like ().Пожалуйста, помогите мне, поскольку я новичок в этом, а также предоставьте предложения, чтобы сделать то же самое лучше, если таковые имеются.
<code>{% for post in all_posts %}
<div class="newsfeed-div">
<h3>{{ post.title }}</h3>
<p>{{ post.content }}</p>
<pre>{{ post.user.name }}
{{ post.time }}
{% с post_id = post.id%}
{% endwith%} {% endfor%}
Когда я использую что-то вроде:
{{ likes.4}}
Я получаю правильное количество лайков для 4-го новостного канала, но почему
{{ likes.post_id }}
не работает?
Пожалуйста, помогитеменя, а также предоставить ваши предложения для достижения того же лучшего.