以用户为例,我试图显示有多少用户。 get_context_data
可以正常工作,但get_queryset
不能。我知道它的设置不正确,但是我已经玩了好几天了,只是没有点击。.
主要目标是使用Dajngo-Filter表格,然后能够获取更新的用户数量。我只找到了无数有关如何显示用户“列表”的文档。我已完成但没有有关如何显示自定义变量的文档。我要根据应用的过滤器来计算许多统计数据和图表。
class UserFilterView(LoginRequiredMixin, FilterView):
template_name = 'community/user_list.html'
model = User
filterset_class = UserFilter
def get_queryset(self):
user_count = User.objects.all().count()
def get_context_data(self, *args, **kwargs):
context = super(UserFilterView, self).get_context_data(*args, **kwargs)
context['user_count'] = User.objects.all().count()
return context
context['user_count'] = User.objects.all().count()
设置为始终计算所有用户。因此,当然,它总是会按照编程的方式去做。
相反,我应该使用过滤后的查询集中的.count。
view.py
class UserFilterView(LoginRequiredMixin, FilterView):
template_name = 'community/user_list.html'
model = User
filterset_class = UserFilter
def get_context_data(self, *args, **kwargs):
context = super(UserFilterView, self).get_context_data(*args, **kwargs)
context['qs'] = User.objects.all()
return context
模板:
User Count: {{ filter.qs.count }}