我想在我的 ListView
中计算“待办事项”的数量views.py
class DashboardListView(LoginRequiredMixin,ListView):
model = Links
template_name = 'dashboard/home.html'
context_object_name ='links_list'
paginate_by = 15
def get_queryset(self):
return self.model.objects.filter(author=self.request.user)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['dashboard_list']= Dashboard.objects.filter(author=self.request.user)[:15]
context['todo_list']= Todo.objects.filter(author=self.request.user).order_by('-pk')[:15]
context['PasswordUsername_list']= PasswordUsername.objects.filter(author=self.request.user)
return context
并在模板中使用{{c_count}}进行渲染,但无法这样做。
谢谢
答案 0 :(得分:2)
由于您也可能会渲染列表,因此使用length
template filter [Django-doc]可能是最快的方法,因为它将获取对象并计算长度,因此我们可以这样渲染:>
{{ todo_list|length }}
如果您只对长度本身感兴趣,而不对todo_list
的对象感兴趣,我们可以在.count()
上调用QuerySet
,但这还有一个额外的缺点是它仅适用于QuerySet
(或具有.count()
方法的类):
<!-- only interested in the count, not in the objects -->
{{ todo_list.count }}