在django模板上显示等于持续时间值的(时间)图标

时间:2012-10-15 14:34:20

标签: django for-loop

我想多次显示一个图标图像(时钟),以指示Event应用中django的持续时间。该视图仅提供datetime.datetime值。我需要查看当前日期时间内有多少小时,分钟,并多次显示图标。如果日期时间值已经过去,则不会显示任何内容。

假设,datetime1和datetime.datetime.now()之间的差异是6小时30分钟

我需要显示6个大图标(每个表示1小时)和3个小图标(每个表示10分钟) duration

这样做的正确方法是什么?我想我需要编写一个过滤器来返回差异作为元组说hrminutes(看起来像(6,30))并在for循环中使用该元组,如

{% for i in hrminutes.0 %}
  <img src="redcircle.jpg" >
{% endfor %}

{% for i in hrminutes.1 %}
  <img src="yellocircle.jpg" >
{% endfor %}

但是对于tag来说只需要一个列表!它无法执行for i in 6

任何想法如何做到这一点..我唯一的选择是在视图中计算hr,分钟值并将其与每个Event对象一起传递?

1 个答案:

答案 0 :(得分:0)

调整过滤器以返回长度为n的迭代,而不是整数n。例如:

hrminutes = (range(6), range(30))

这样你模板中的for循环就可以了。