我遇到了一个问题,我在视图中显示模型中的所有对象。但是,我有空间只能一次显示3个。所以我想使用滑动框架(Bootstrap Carousel)来显示超过3个。
我已经找到了2个解决方案。
1:我创建了一个通过ajax调用的视图,该视图使用start_id
加载后续对象,该start_id
显示模型中的3个对象,从对象的主键开始为 def dynamic_banners(request):
start = request.GET['start_id']
banner1 = Sample.objects.filter(id__exact=start)
banner2 = Sample.objects.filter(id__exact=start+1)
banner3 = Sample.objects.filter(id__exact=start+2)
return render_to_response('template.html',{'banner1':banner1, 'banner2':banner2, 'banner3':banner3}, RequestContext(request))
。
这些方面的东西。
{{1}}
但我不确定这是否优雅,或者就此而言,是一个正确的解决方案。
2:另一种解决方案是立即将所有对象发送到视图,然后在模板中将它们拆分。这里的问题是,我无法找到一种方法来做到这一点。
我希望这个问题看起来很连贯。 否则,您可以随时查看应用here并查看特色服务提供商'我当前只能显示3但需要以滑动框架的方式显示所有内容。
答案 0 :(得分:0)
def dynamic_banners(request):
start = request.GET['start_id']
banners = Sample.objects.filter(id__gte=start).order_by('id')[:3]
return render_to_response('template.html',{'banners':banners}, RequestContext(request))