我想创建一个类似于地图的表格,显示仓库中纸卷的位置、重量和状态。位置包括车道(A、B、C、D、E)和位置(1、2、3、...、13)。状态可以在4个情况下取决于纸卷的重量,我想用不同的颜色显示它们:
例如,代码为"AAA111“的两个纸卷分别位于B-4和B-9处;重量分别为300和500公斤。所以在地图上应该在B-4显示黄色,在B-9显示蓝色。
我试图通过在模板中使用"for“标签(例如inventory.html)从列表中创建一个表。以下是相关列表,包括位置列表(posb)、位置列表(mstr)和权重列表(wlist):
posb = '1','2','3','4','5','6','7','8','9','10','11','12','13‘
mstr = (u'B',4L),(u'B',9L)
wlist = 300,500
以下是inventory.html中通道B的相关代码行
{% for pos in posb %}
{% if pos %}
{% if "'B', "|add:pos in mstr %}
{% for wt in wlist %}
{% if wt > 700 %}
<td class="green">{{ wt }}</td>
{% endif %}
{% if 400 < wt and wt < 700 %}
<td class="blue">{{ wt }}</td>
{% endif %}
{% if 100 < wt and wt < 400 %}
<td class="yellow">{{ wt }}</td>
{% endif %}
{% if wt < 100 %}
<td class="red">{{ wt }}</td>
{% endif %}
{% endfor %}
{% else %}
<td class="gray"></td>
{% endif %}
{% else %}
<td></td>
{% endif %}
{% endfor %}问题是这段代码会根据wlist中的项数创建超出的单元格。请看这个链接后面的图片:link text (对不起,我的声誉不足以发布任何图片)
我已经坚持这个问题很长一段时间了。有人能帮上忙吗?
非常感谢。
发布于 2010-11-23 00:00:33
你的if子句似乎有些低效。
你不是很刻薄吗?
if 100 >= wt and wt < 400比
if 100 < wt and wt < 400(等)?
发布于 2010-11-23 00:03:30
与在模板中执行所有逻辑相比,编写一个处理逻辑的函数,然后编写一个接收值并将它们传递给函数的custom template tag会更容易。
https://stackoverflow.com/questions/4247346
复制相似问题