Django 模板运算

2 投票
3 回答
1783 浏览
提问于 2025-04-17 03:12

在我的模板中,我正在遍历一个列表,想要做一个两列的布局。因为要实现这个两列的布局,我在循环中写的代码需要根据forloop.counter0是偶数还是奇数来决定。如果我能在模板语言中使用完整的Python功能,判断forloop.counter0是偶数还是奇数会非常简单,但可惜的是,情况并不是这样。我该如何在Django的模板语言中测试forloop.counter0是偶数还是奇数,或者有没有其他方法可以让列表中的元素交替显示在左边和右边的列中呢?

提前谢谢你!

3 个回答

1

使用 cycle 模板标签

7

你可能应该在这里使用 cycle。至于你的问题,有一个叫 divisibleby 的过滤器。

Django 的模板系统的理念是尽量避免在模板中进行复杂的逻辑处理。因此,它们只提供一些基本的工具,用于进行简单的计算,比如绘制网格等。

2

你可以使用 divisibleby 这个过滤器,配合 forloop.counter 来使用:

{% if forloop.counter|divisibleby:"2" %}even{% else %}odd{% endif %}

撰写回答