当前位置: 首页 > 面试题库 >

Django的循环计数器中断

宗苗宣
2023-03-14
问题内容

希望这是一种快速/简便的方法。我知道一种通过自定义模板标签解决此问题的方法,但是我很好奇是否还有其他方法在寻找。我已经为博客创建了各种图库功能,并且有一个图库列表页面可以对我的所有画廊进行分页。现在,我不想显示该列表中每个画廊的所有照片,因为如果每个画廊甚至有20张图像,那么如果我分5篇文章,那一页上就只有100张图像。那会很浪费,而且是处理问题的错误方法。

我的问题是,有没有办法只显示照片集中的3张照片?我想做的事,但我 认为 不可能是(伪代码):

{% for photos in gallery.photo_set %}
   {% if forloop.counter lt 3 %}
     <img src="{{ photos.url }}">
   {% endif %}
{% endfor %}

从文档来看,除非我完全不了解它,否则无法通过模板系统来实现。因此,我可以编写自己的模板标签来解决该问题。我也许可以从观点的角度做一些事情,但是我并没有考虑过这个想法。我的另一个选择是给模型一个预览字段,并允许用户在预览字段中选择他们想要的照片。

无论如何,有几种不同的选择,所以我想我会对观众进行投票,看看你会怎么做。任何意见表示赞赏。就个人而言,享受有很多方法可以给这只猫蒙皮。


问题答案:

采用:

{% for photos in gallery.photo_set|slice:":3" %}


 类似资料:
  • 当在我的电子商务网站上呈现我的“产品”详细信息时,我希望我的for循环在满足三次条件后结束。 我希望第二个for循环,即中,一旦满足if条件,即满足三次。但是我设置为0的计数器会重复增加到1,而不是随着for循环递增。因为它里面有一个if条件,我也不能使用forloop.counter。我希望这个过程在第一个for循环的每次迭代中重复,即

  • 问题内容: 在下面的示例代码中,是否真的需要counter = 0,还是有更好,更多的Python方法来访问循环计数器?我看到了一些与循环计数器有关的PEP,但它们要么被延迟要么被拒绝(PEP 212 和PEP 281)。 这是我的问题的简化示例。在我的实际应用程序中,这是通过图形完成的,整个菜单必须每帧重新绘制一次。但这以易于复制的简单文本方式进行了演示。 也许我还应该补充一点,我正在使用Pyt

  • 问题内容: 我有这个代码: 它显然不会编译,因为在匿名类中需要使用final。但是我不能将它定下来,因为事实并非如此。你会怎么做?一种解决方案是复制它,但我认为可能会有更好的方法: 编辑 只是为了清楚起见,为了示例,我在这里使用了Runnable,问题实际上是关于匿名类的,它可以是其他任何东西。 问题答案: 我认为您的解决方案是最简单的方法。 另一种选择是将内部类的创建重构为一个为您完成的工厂函数

  • 问题内容: 如何在C语言中创建一个计时器? 我想要一段代码从gps解析器输出中连续获取数据。 是否为此提供了良好的库,还是应该自行编写? 问题答案: 最简单的方法:

  • 问题内容: 在遍历列表的Python循环中,我们可以编写: 并巧妙地遍历列表中的所有元素。有没有办法知道循环中到目前为止我循环了多少次?例如,我要列出一个清单,在处理完10个元素之后,我想对它们进行处理。 我考虑过的替代方案可能是: 要么: 是否有更好的方法(就像)来获得到目前为止的迭代次数? 问题答案: pythonic的方法是使用:

  • 我正在遍历一个LinkedHashMap并递增I counter,下面是我使用for循环的方式