我正在尝试使用批处理通知,但徽章会使用以下代码抛出几个徽章,并且不会显示该数字。我希望徽章能够显示几个帖子中符合兴趣的内容数量 我仍然是django的初学者,所以如果这是一个完全不好的方法,请跟我说。
interest.html
{% for item in interest %}
<ul class='nav nav-pills nav-stacked'>
<li><a href='/'>
<span class='badge pull-right'>
{% for word in post %}
{% if word == interest %}
{{ word.as_number }}
{% else %}
0
{% endif %}
{% endfor %}
</span>
{{ item.interest }}
</a></li>
</ul>
{% endfor %}
context_processors.py
def user_interest(request):
interest = Interests.objects.all()
interests_form = InterestsForm(request.POST or None)
post = Posts.objects.all()
if interests_form.is_valid():
new_interest = interests_form.save(commit=False)
new_interest.save()
#return HttpResponseRedirect('/')
#apparently it is not needed here
return {'interest': interest,
'interests_form': interests_form,
'post': post,
}
models.py
class Interests(models.Model):
interest = models.CharField(max_length=100)
created = models.DateTimeField(auto_now_add=True)
答案 0 :(得分:1)
我不是完全理解,但问题的一部分可能是这部分:
{% if word == interest %}
您将特定帖子与您的兴趣所有进行比较(自'interest' = Interests.objects.all()
起)。至少我会改为:
{% if word == item %}
这会迭代您的兴趣列表(使用'item')并将其与帖子列表中的每个'word'进行比较。