在引导转盘的模板中拆分Django查询集
我有一个带有字段图像和名称的模型横幅。我需要从这个模型的数据显示在一个移动的引导旋转木马三组 我目前的实现是我能想到的最昂贵、最简单的实现 banner1=Banners.objects.filterid\uuuu精确=1重复 用于模型中的9个条目 我的问题是,是否可以拆分一个查询集在引导转盘的模板中拆分Django查询集,django,django-views,Django,Django Views,我有一个带有字段图像和名称的模型横幅。我需要从这个模型的数据显示在一个移动的引导旋转木马三组 我目前的实现是我能想到的最昂贵、最简单的实现 banner1=Banners.objects.filterid\uuuu精确=1重复 用于模型中的9个条目 我的问题是,是否可以拆分一个查询集 banner.objects.all分为三组,每组三个条目,然后如何在引导转盘的三个不同幻灯片上显示这三个组?这似乎是使用django divisibleby过滤器的好地方。由于您需要每三个实例添加一个额外的分组信
banner.objects.all分为三组,每组三个条目,然后如何在引导转盘的三个不同幻灯片上显示这三个组?这似乎是使用django divisibleby过滤器的好地方。由于您需要每三个实例添加一个额外的分组信息,它可能非常抽象地看起来像这样,因为我不知道您的具体模板要求:
{% for banner in banners %}
{% if forloop.counter0|divisibleby:"3" %}
<!-- your carousel wrapping code here -->
{% endif %}
<!-- code for each individual banners here -->
{% if forloop.counter0|divisibleby:"3" %}
<!-- rest of your carousel wrapping code here -->
{% endif %}
其中banners是一个上下文变量,包含banners.objects.allbanners.objects.all在一个模板中??嗯,不,您可能真的想在视图中执行此操作-但如果将“banners”作为上下文发送到模板中,则从技术上讲是可行的。如果有必要,您实际上可以从模板访问QuerySet,但在本例中,我只是为了保持示例简短而简明扼要。这是不对的-您不能直接从django模板调用模型-您不能通过设计来实现。你必须从上下文中注入它,或者使用templatetags。这就是为什么我说“作为上下文发送到模板”-但我不会争辩,我只是编辑答案。可能是@karthikr的重复,我尝试过该解决方案,但对我无效。它创建了3组,每组1个横幅。