如何在ListView中获得bool值为true或false的对象总数?



试图获取要在模板上显示的bool值为true的对象总数

这是目前为止我写的

models.py

class Issue(models.Model):
MARK_AS = ((True, 'Open'), (False, 'Closed'))

title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
assignee = models.ForeignKey(Profile, on_delete=models.SET_NULL, null=True, blank=True)
mark_as = models.BooleanField(choices=MARK_AS, default=True)

views.py

class IssueListView(ListView):
model = Issue
template_name = 'issues/home.html'
context_object_name = 'issues'
ordering = ['-date_posted']
paginate_by = 5

def total():
open_issues = Issue.objects.filter(mark_as=True).count()
closed_issues = Issue.objects.filter(mark_as=False).count()
context = { 
'open_issues': open_issues,
'closed_issues': closed_issues}
return context

模板

<ul class="topics__list">
<li>
<a href="" class="active">All <span>{{ page_obj.paginator.count }}</span></a>
</li>
<li>
<a href="">Open<span>{{issues.open_issues}}</span></a>
</li>
<li>
<a href="">Closed<span>{{issues.closed_issues}}</span></a>
</li>
</ul>

它不工作,我从这里去哪里?

您传入的issues的上下文值是模板的issues.open_issuesissues.closed_issues。试着修改你的模板来匹配你传入的字典键。

最新更新