很喜欢这个名字
ListView
建议,视图实际上只用于
一
查询集。如果您想使用更多的元素,可以
修补
get_context_data
功能:
from datetime import datetime, timedelta
class DashboardListView(ListView):
template_name = 'index.html'
context_object_name = 'dashboards'
model = models.User
def get_context_data(self, *args, **kwargs):
context = super(DashboardListView, self).get_context_data(*args, **kwargs)
now = datetime.now()
d30 = timedelta(30)
context['expire'] = User.objects.filter(membership_till__lt=now+d30)
context['new'] = User.objects.filter(joined_date__gt=now-d30)
return context
因此,我们向上下文添加两个额外的查询集,然后可以在
template.html
:
...
{% for a in expire %}
<tr>
<td>{{ a.name }}</td>
<td>{{ a.membership_till|naturaltime }}</td>
</tr>
{% endfor %}
...
...
{% for a in new %}
<tr>
<td>{{ a.name }}</td>
<td>{{ a.membership_till|naturaltime }}</td>
</tr>
{% endfor %}
...