我有一个对象列表 . 我想以这样的方式显示这些对象:如果后续对象包含相同的日期,则仅显示第一个唯一日期 . 如果日期不同于应显示的日期 . 这是一个例子 .
数据:
-
id:2,日期:"01/01/2010"
-
id:3,日期:"01/01/2010"
-
id:4,日期:"02/02/2010"
我想要展示的内容:
-
id - 2,"01/01/2010"
-
id - 3,
-
id - 4,"02/02/2010"
看看id 3如何显示,因为上一个日期是相同的?
如何使用django模板执行此操作?我尝试过的一件事是创建一个自定义过滤器 . 唯一的问题是它使用了一个全局变量,在我看来这是一个禁忌 . 如何在函数过滤器或django模板语言中维护状态才能使之前的值有用?
__author__ = 'Dave'
#This works but isn't best practice
from django import template
register = template.Library()
a = ''
@register.filter()
def ensure_unique(value):
global a
if a == value:
return ''
else:
a = value
return value
1 回答
使用simple_tag使我更容易保存状态并完全满足我的需要 .