Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我不太了解 Django 或 Python,但我知道在模板中使用简单的 for 循环会出现问题。
我想做以下事情并想知道我的选择是 - 在模板中是否有一种简单的方法可以做到这一点?
{% for image in my_images %} //only loop through 1-10
然后:
{% for image in my_images %} //only loop through 10-20
谢谢,
如果是一个列表,my_images您正在寻找过滤器:slice
my_images
slice
{{ some_list|slice:":2" }} 如果 some_list 是['a', 'b', 'c'],则输出将为['a', 'b']。
{{ some_list|slice:":2" }}
如果 some_list 是['a', 'b', 'c'],则输出将为['a', 'b']。
['a', 'b', 'c']
['a', 'b']
当然,在优化说明上,通常最好在视图级别执行此操作,不要获取比您需要的更多的记录。
如果您需要所有数据但想分块显示,您可以像这样拆分列表
def Chunks(l, n): return [l[i:i+n] for i in range(0, len(l), n)]
其中 n = 任何数字,在您的情况下为 10
然后,您需要做的就是遍历模板中的分块列表。