我在理解循环语法如何与webpy一起工作时遇到了一些麻烦。
我有一个模板,其中包含一段代码:
$for point in slow_points:
L.marker(${point}, {icon: slowIcon}).addTo(map);
});
最后的});
是关闭jquery函数。在python缩进之后,我希望});
不应该在我的输出页面中重复,但确实如此。为了让});
不再重复,我必须这样做:
$for point in slow_points:
L.marker(${point}, {icon: slowIcon}).addTo(map);
});
我的});
尽可能地向左移动,因此基本上忽略了任何类型的缩进。
这是预期的行为吗?是否有一些其他语法我可以用于循环,这将允许我保持我的缩进“干净”但不会导致应该在for循环块之外的代码重复?
答案 0 :(得分:0)
举出你的榜样,它真的不应该重复});
。以下代码
import web
template = """$def with(slow_points)
$for point in slow_points:
L.marker(${point}, {icon: slowIcon}).addTo(map);
});
"""
page = web.template.Template(template)
print page(['a', 'b', 'c'])
输出:
L.marker(a, {icon: slowIcon}).addTo(map);
L.marker(b, {icon: slowIcon}).addTo(map);
L.marker(c, {icon: slowIcon}).addTo(map);
});
请确保您有正确的缩进样式,其中1个缩进等于4个空格。