1

我不太了解 Django 或 Python,但我知道在模板中使用简单的 for 循环会出现问题。

我想做以下事情并想知道我的选择是 - 在模板中是否有一种简单的方法可以做到这一点?

{% for image in my_images %}  //only loop through 1-10

然后:

{% for image in my_images %}  //only loop through 10-20

谢谢,

4

2 回答 2

3

如果是一个列表my_images您正在寻找过滤器slice

{{ some_list|slice:":2" }}

如果 some_list 是['a', 'b', 'c'],则输出将为['a', 'b']

当然,在优化说明上,通常最好在视图级别执行此操作,不要获取比您需要的更多的记录。

于 2012-12-10T11:02:32.517 回答
0

如果您需要所有数据但想分块显示,您可以像这样拆分列表

def Chunks(l, n):
    return [l[i:i+n] for i in range(0, len(l), n)]

其中 n = 任何数字,在您的情况下为 10

然后,您需要做的就是遍历模板中的分块列表。

于 2012-12-10T11:45:04.223 回答