Django分区过滤器Snipp

2024-10-01 15:40:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用一个分区Django代码片段将数据分成3列,当一切正常时,我不知道如何调用中间分区。在

片段

@register.filter
def partition(thelist, n):
try:
    n = int(n)
    thelist = list(thelist)
except (ValueError, TypeError):
    return [thelist]
p = len(thelist) / n
return [thelist[p*i:p*(i+1)] for i in range(n - 1)] + [thelist[p*(i+1):]]

模板

^{pr2}$

“中间”显然是不正确的。我试过“第二个”,但也没用。在

有什么建议吗?在


Tags: 数据django代码registerreturndeffilterlist
1条回答
网友
1楼 · 发布于 2024-10-01 15:40:53

first和{}是模板过滤器,用于获取列表的第一个和最后一个元素。没有模板过滤器来获取第二个、第三个等元素。必须使用for item in ..构造:

{% for row in mylist|partition:"3" %}
    {% for item in row %}
        do something with {{ item }}
    {% endfor %}
{% endfor %}

相关问题 更多 >

    热门问题